Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- seg000:0000000000D77E60 sub_D77E60 proc near ; DATA XREF: seg000:0000000000D65F41o
- seg000:0000000000D77E60 push rbp
- seg000:0000000000D77E61 mov rbp, rsp
- seg000:0000000000D77E64 push rbx
- seg000:0000000000D77E65 push rax
- seg000:0000000000D77E66 mov rbx, rdi
- seg000:0000000000D77E69 mov eax, cs:dword_25623D8
- seg000:0000000000D77E6F xor edx, edx
- seg000:0000000000D77E71 mov ecx, [rbx+48h]
- seg000:0000000000D77E74 lea esi, [rcx-2]
- seg000:0000000000D77E77 cmp esi, 3 ; switch 4 cases
- seg000:0000000000D77E7A ja short loc_D77EC2 ; jumptable 0000000000D77E8A default case
- seg000:0000000000D77E7C lea rdx, off_21CBC64
- seg000:0000000000D77E83 movsxd rsi, dword ptr [rdx+rsi*4]
- seg000:0000000000D77E87 add rsi, rdx
- seg000:0000000000D77E8A jmp rsi ; switch jump
- seg000:0000000000D77E8C ; ---------------------------------------------------------------------------
- seg000:0000000000D77E8C
- seg000:0000000000D77E8C loc_D77E8C: ; CODE XREF: sub_D77E60+2Aj
- seg000:0000000000D77E8C ; DATA XREF: seg000:off_21CBC64o
- seg000:0000000000D77E8C lea rdx, byte_2562290 ; jumptable 0000000000D77E8A case 0
- seg000:0000000000D77E93 lea rdx, [rdx+rax*8+9]
- seg000:0000000000D77E98 jmp short loc_D77EC2 ; jumptable 0000000000D77E8A default case
- seg000:0000000000D77E9A ; ---------------------------------------------------------------------------
- seg000:0000000000D77E9A
- seg000:0000000000D77E9A loc_D77E9A: ; CODE XREF: sub_D77E60+2Aj
- seg000:0000000000D77E9A ; DATA XREF: seg000:off_21CBC64o
- seg000:0000000000D77E9A lea rdx, byte_2562290 ; jumptable 0000000000D77E8A case 1
- seg000:0000000000D77EA1 lea rdx, [rdx+rax*8+0Ah]
- seg000:0000000000D77EA6 jmp short loc_D77EC2 ; jumptable 0000000000D77E8A default case
- seg000:0000000000D77EA8 ; ---------------------------------------------------------------------------
- seg000:0000000000D77EA8
- seg000:0000000000D77EA8 loc_D77EA8: ; CODE XREF: sub_D77E60+2Aj
- seg000:0000000000D77EA8 ; DATA XREF: seg000:off_21CBC64o
- seg000:0000000000D77EA8 lea rdx, byte_2562290 ; jumptable 0000000000D77E8A case 2
- seg000:0000000000D77EAF lea rdx, [rdx+rax*8+0Eh]
- seg000:0000000000D77EB4 jmp short loc_D77EC2 ; jumptable 0000000000D77E8A default case
- seg000:0000000000D77EB6 ; ---------------------------------------------------------------------------
- seg000:0000000000D77EB6
- seg000:0000000000D77EB6 loc_D77EB6: ; CODE XREF: sub_D77E60+2Aj
- seg000:0000000000D77EB6 ; DATA XREF: seg000:off_21CBC64o
- seg000:0000000000D77EB6 lea rdx, byte_2562290 ; jumptable 0000000000D77E8A case 3
- seg000:0000000000D77EBD lea rdx, [rdx+rax*8+0Dh]
- seg000:0000000000D77EC2
- seg000:0000000000D77EC2 loc_D77EC2: ; CODE XREF: sub_D77E60+1Aj
- seg000:0000000000D77EC2 ; sub_D77E60+38j ...
- seg000:0000000000D77EC2 mov esi, [rbx] ; jumptable 0000000000D77E8A default case
- seg000:0000000000D77EC4 lea edi, [rsi-2]
- seg000:0000000000D77EC7 cmp edi, 7 ; switch 8 cases
- seg000:0000000000D77ECA ja short loc_D77EE7 ; jumptable 0000000000D77EDA default case
- seg000:0000000000D77ECC lea rsi, off_21CBC74
- seg000:0000000000D77ED3 movsxd rdi, dword ptr [rsi+rdi*4]
- seg000:0000000000D77ED7 add rdi, rsi
- seg000:0000000000D77EDA jmp rdi ; switch jump
- seg000:0000000000D77EDC ; ---------------------------------------------------------------------------
- seg000:0000000000D77EDC
- seg000:0000000000D77EDC loc_D77EDC: ; CODE XREF: sub_D77E60+7Aj
- seg000:0000000000D77EDC ; DATA XREF: seg000:off_21CBC74o
- seg000:0000000000D77EDC movzx eax, byte ptr [rdx] ; jumptable 0000000000D77EDA case 3
- seg000:0000000000D77EDF mov [rbx+4], eax
- seg000:0000000000D77EE2 jmp loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77EE7 ; ---------------------------------------------------------------------------
- seg000:0000000000D77EE7
- seg000:0000000000D77EE7 loc_D77EE7: ; CODE XREF: sub_D77E60+6Aj
- seg000:0000000000D77EE7 cmp esi, 17h ; jumptable 0000000000D77EDA default case
- seg000:0000000000D77EEA jnz loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77EF0 cmp dword ptr [rbx+38h], 0
- seg000:0000000000D77EF4 jz short loc_D77F31
- seg000:0000000000D77EF6 mov cs:byte_2766700, cl
- seg000:0000000000D77EFC jmp short loc_D77F38
- seg000:0000000000D77EFE ; ---------------------------------------------------------------------------
- seg000:0000000000D77EFE
- seg000:0000000000D77EFE loc_D77EFE: ; CODE XREF: sub_D77E60+7Aj
- seg000:0000000000D77EFE ; DATA XREF: seg000:off_21CBC74o
- seg000:0000000000D77EFE mov dword ptr [rbx+4], 0FFh ; jumptable 0000000000D77EDA case 4
- seg000:0000000000D77F05 jmp loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77F0A ; ---------------------------------------------------------------------------
- seg000:0000000000D77F0A
- seg000:0000000000D77F0A loc_D77F0A: ; CODE XREF: sub_D77E60+7Aj
- seg000:0000000000D77F0A ; DATA XREF: seg000:off_21CBC74o
- seg000:0000000000D77F0A cmp ecx, 2 ; jumptable 0000000000D77EDA case 7
- seg000:0000000000D77F0D jnz loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77F13 mov rcx, cs:qword_269B7F8
- seg000:0000000000D77F1A cmp cs:byte_25585E1, 0
- seg000:0000000000D77F21 jz loc_D77FDB
- seg000:0000000000D77F27 mov edx, 1
- seg000:0000000000D77F2C jmp loc_D77FE2
- seg000:0000000000D77F31 ; ---------------------------------------------------------------------------
- seg000:0000000000D77F31
- seg000:0000000000D77F31 loc_D77F31: ; CODE XREF: sub_D77E60+94j
- seg000:0000000000D77F31 mov cs:byte_2766700, 0
- seg000:0000000000D77F38
- seg000:0000000000D77F38 loc_D77F38: ; CODE XREF: sub_D77E60+7Aj
- seg000:0000000000D77F38 ; sub_D77E60+9Cj
- seg000:0000000000D77F38 ; DATA XREF: ...
- seg000:0000000000D77F38 cmp dword ptr [rbx+54h], 1
- seg000:0000000000D77F3C jnz loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77F42 cmp ecx, 3
- seg000:0000000000D77F45 jmp short near ptr loc_D77F57+6
- seg000:0000000000D77F47 ; ---------------------------------------------------------------------------
- seg000:0000000000D77F47 cmp ecx, 2
- seg000:0000000000D77F4A
- seg000:0000000000D77F4A loc_D77F4A: ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77F4A jnz loc_D781F4
- seg000:0000000000D77F50 lea rcx, byte_2562290
- seg000:0000000000D77F57
- seg000:0000000000D77F57 loc_D77F57: ; CODE XREF: sub_D77E60+E5j
- seg000:0000000000D77F57 lea rdi, a3_0f ; "%3.0f"
- seg000:0000000000D77F5E movzx eax, byte ptr [rcx+rax*8+9]
- seg000:0000000000D77F63 vcvtsi2ss xmm0, xmm0, eax
- seg000:0000000000D77F67 vdivss xmm0, xmm0, cs:dword_21B8B78
- seg000:0000000000D77F6F
- seg000:0000000000D77F6F loc_D77F6F:
- seg000:0000000000D77F6F vaddss xmm0, xmm0, xmm0
- seg000:0000000000D77F73 vmulss xmm0, xmm0, cs:dword_21B8B80
- seg000:0000000000D77F7B vaddss xmm0, xmm0, cs:dword_21B8B84
- seg000:0000000000D77F83 vmulss xmm0, xmm0, cs:dword_21B8B88
- seg000:0000000000D77F8B vaddss xmm0, xmm0, cs:dword_21B8B8C
- seg000:0000000000D77F93 vcvtss2sd xmm0, xmm0, xmm0
- seg000:0000000000D77F97 jmp short loc_D77FC4
- seg000:0000000000D77F99 ; ---------------------------------------------------------------------------
- seg000:0000000000D77F99 lea rcx, byte_2562290
- seg000:0000000000D77FA0 lea rdi, a3_0f_0 ; "%3.0f%%"
- seg000:0000000000D77FA7 movzx eax, byte ptr [rcx+rax*8+0Ah]
- seg000:0000000000D77FAC vcvtsi2ss xmm0, xmm0, eax
- seg000:0000000000D77FB0 vdivss xmm0, xmm0, cs:dword_21B8B78
- seg000:0000000000D77FB8 vmulss xmm0, xmm0, cs:dword_21B8B7C
- seg000:0000000000D77FC0 vcvtss2sd xmm0, xmm0, xmm0
- seg000:0000000000D77FC4
- seg000:0000000000D77FC4 loc_D77FC4: ; CODE XREF: sub_D77E60+137j
- seg000:0000000000D77FC4 mov al, 1
- seg000:0000000000D77FC6 call sub_CD7060
- seg000:0000000000D77FCB lea rax, qword_27489A0
- seg000:0000000000D77FD2 mov [rbx+40h], rax
- seg000:0000000000D77FD6 jmp loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D77FDB ; ---------------------------------------------------------------------------
- seg000:0000000000D77FDB
- seg000:0000000000D77FDB loc_D77FDB: ; CODE XREF: sub_D77E60+C1j
- seg000:0000000000D77FDB movsxd rdx, cs:dword_2559D94
- seg000:0000000000D77FE2
- seg000:0000000000D77FE2 loc_D77FE2: ; CODE XREF: sub_D77E60+CCj
- seg000:0000000000D77FE2 imul rsi, rdx, 8E0h
- seg000:0000000000D77FE9 vxorps xmm1, xmm1, xmm1
- seg000:0000000000D77FED vxorps xmm2, xmm2, xmm2
- seg000:0000000000D77FF1 vmovss xmm0, dword ptr [rcx+rsi+9ACh]
- seg000:0000000000D77FFA lea rdx, [rcx+rsi+9A0h]
- seg000:0000000000D78002 vucomiss xmm1, xmm0
- seg000:0000000000D78006 jnb short loc_D78029
- seg000:0000000000D78008 vmovss xmm2, dword ptr [rdx]
- seg000:0000000000D7800C vmovss xmm3, dword ptr [rcx+rsi+9A4h]
- seg000:0000000000D78015 vmulss xmm2, xmm2, xmm2
- seg000:0000000000D78019 vmulss xmm3, xmm3, xmm3
- seg000:0000000000D7801D vaddss xmm2, xmm2, xmm3
- seg000:0000000000D78021 vsqrtss xmm2, xmm0, xmm2
- seg000:0000000000D78025 vdivss xmm2, xmm2, xmm0
- seg000:0000000000D78029
- seg000:0000000000D78029 loc_D78029: ; CODE XREF: sub_D77E60+1A6j
- seg000:0000000000D78029 vucomiss xmm2, cs:dword_21B8B5C
- seg000:0000000000D78031 jbe short loc_D7805C
- seg000:0000000000D78033 vmovss xmm3, dword ptr [rdx+4]
- seg000:0000000000D78038 vmovss xmm1, dword ptr [rdx]
- seg000:0000000000D7803C vmulss xmm4, xmm1, xmm1
- seg000:0000000000D78040 vmulss xmm3, xmm3, xmm3
- seg000:0000000000D78044 vaddss xmm3, xmm4, xmm3
- seg000:0000000000D78048 vmovss xmm4, cs:dword_21B8B60
- seg000:0000000000D78050 vsqrtss xmm3, xmm0, xmm3
- seg000:0000000000D78054 vdivss xmm3, xmm4, xmm3
- seg000:0000000000D78058 vmulss xmm1, xmm1, xmm3
- seg000:0000000000D7805C
- seg000:0000000000D7805C loc_D7805C: ; CODE XREF: sub_D77E60+1D1j
- seg000:0000000000D7805C vucomiss xmm2, cs:dword_21B8B5C
- seg000:0000000000D78064 vxorps xmm3, xmm3, xmm3
- seg000:0000000000D78068 jbe short loc_D780BB
- seg000:0000000000D7806A vucomiss xmm2, cs:dword_21B8B64
- seg000:0000000000D78072 jnb short loc_D780B3
- seg000:0000000000D78074 vaddss xmm2, xmm2, cs:dword_21B8B68
- seg000:0000000000D7807C vmovss xmm5, cs:dword_21B8B60
- seg000:0000000000D78084 vxorps xmm3, xmm3, xmm3
- seg000:0000000000D78088 vdivss xmm2, xmm2, cs:dword_21B8B6C
- seg000:0000000000D78090 vmaxss xmm4, xmm2, xmm3
- seg000:0000000000D78094 vcmpss xmm2, xmm5, xmm2, 1
- seg000:0000000000D78099 vandnps xmm4, xmm2, xmm4
- seg000:0000000000D7809D vandps xmm2, xmm2, xmm5
- seg000:0000000000D780A1 vorps xmm2, xmm4, xmm2
- seg000:0000000000D780A5 vsubss xmm4, xmm5, xmm2
- seg000:0000000000D780A9 vmulss xmm3, xmm4, xmm3
- seg000:0000000000D780AD vaddss xmm3, xmm2, xmm3
- seg000:0000000000D780B1 jmp short loc_D780BB
- seg000:0000000000D780B3 ; ---------------------------------------------------------------------------
- seg000:0000000000D780B3
- seg000:0000000000D780B3 loc_D780B3: ; CODE XREF: sub_D77E60+212j
- seg000:0000000000D780B3 vmovss xmm3, cs:dword_21B8B60
- seg000:0000000000D780BB
- seg000:0000000000D780BB loc_D780BB: ; CODE XREF: sub_D77E60+208j
- seg000:0000000000D780BB ; sub_D77E60+251j
- seg000:0000000000D780BB mov cl, cs:byte_2766700
- seg000:0000000000D780C1 add cl, 0FEh ; '¦'
- seg000:0000000000D780C4 movzx ecx, cl
- seg000:0000000000D780C7 cmp ecx, 3 ; switch 4 cases
- seg000:0000000000D780CA ja loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D780D0 lea rdx, off_21CBC94
- seg000:0000000000D780D7 vmulss xmm0, xmm0, xmm3
- seg000:0000000000D780DB movsxd rcx, dword ptr [rdx+rcx*4]
- seg000:0000000000D780DF vmulss xmm0, xmm1, xmm0
- seg000:0000000000D780E3 add rcx, rdx
- seg000:0000000000D780E6 jmp rcx ; switch jump
- seg000:0000000000D780E8 ; ---------------------------------------------------------------------------
- seg000:0000000000D780E8
- seg000:0000000000D780E8 loc_D780E8: ; CODE XREF: sub_D77E60+286j
- seg000:0000000000D780E8 ; DATA XREF: seg000:off_21CBC94o
- seg000:0000000000D780E8 vmulss xmm0, xmm0, cs:dword_21B8B70 ; jumptable 0000000000D780E6 case 0
- seg000:0000000000D780F0 lea rcx, byte_2562290
- seg000:0000000000D780F7 movzx edx, byte ptr [rcx+rax*8+9]
- seg000:0000000000D780FC vcvttss2si rsi, xmm0
- seg000:0000000000D78101 add esi, edx
- seg000:0000000000D78103 mov [rcx+rax*8+9], sil
- seg000:0000000000D78108 jmp loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D7810D ; ---------------------------------------------------------------------------
- seg000:0000000000D7810D
- seg000:0000000000D7810D loc_D7810D: ; CODE XREF: sub_D77E60+286j
- seg000:0000000000D7810D ; DATA XREF: seg000:off_21CBC94o
- seg000:0000000000D7810D vmulss xmm1, xmm0, cs:dword_21B8B74 ; jumptable 0000000000D780E6 case 1
- seg000:0000000000D78115 lea rcx, byte_2562290
- seg000:0000000000D7811C movzx edx, byte ptr [rcx+rax*8+0Ah]
- seg000:0000000000D78121 vcvttss2si rsi, xmm1
- seg000:0000000000D78126 vxorps xmm1, xmm1, xmm1
- seg000:0000000000D7812A add esi, edx
- seg000:0000000000D7812C vucomiss xmm0, xmm1
- seg000:0000000000D78130 mov [rcx+rax*8+0Ah], sil
- seg000:0000000000D78135 jnb loc_D781C3
- seg000:0000000000D7813B movzx esi, sil
- seg000:0000000000D7813F cmp esi, edx
- seg000:0000000000D78141 jbe loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D78147 mov byte ptr [rcx+rax*8+0Ah], 0
- seg000:0000000000D7814C jmp loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D78151 ; ---------------------------------------------------------------------------
- seg000:0000000000D78151
- seg000:0000000000D78151 loc_D78151: ; CODE XREF: sub_D77E60+286j
- seg000:0000000000D78151 ; DATA XREF: seg000:off_21CBC94o
- seg000:0000000000D78151 vmulss xmm1, xmm0, cs:dword_21B8B70 ; jumptable 0000000000D780E6 case 2
- seg000:0000000000D78159 lea rcx, byte_2562290
- seg000:0000000000D78160 movzx edx, byte ptr [rcx+rax*8+0Eh]
- seg000:0000000000D78165 vcvttss2si rsi, xmm1
- seg000:0000000000D7816A vxorps xmm1, xmm1, xmm1
- seg000:0000000000D7816E add esi, edx
- seg000:0000000000D78170 vucomiss xmm0, xmm1
- seg000:0000000000D78174 mov [rcx+rax*8+0Eh], sil
- seg000:0000000000D78179 jnb short loc_D781D4
- seg000:0000000000D7817B movzx esi, sil
- seg000:0000000000D7817F cmp esi, edx
- seg000:0000000000D78181 jbe short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D78183 mov byte ptr [rcx+rax*8+0Eh], 0
- seg000:0000000000D78188 jmp short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D7818A ; ---------------------------------------------------------------------------
- seg000:0000000000D7818A
- seg000:0000000000D7818A loc_D7818A: ; CODE XREF: sub_D77E60+286j
- seg000:0000000000D7818A ; DATA XREF: seg000:off_21CBC94o
- seg000:0000000000D7818A vmulss xmm1, xmm0, cs:dword_21B8B70 ; jumptable 0000000000D780E6 case 3
- seg000:0000000000D78192 lea rcx, byte_2562290
- seg000:0000000000D78199 movzx edx, byte ptr [rcx+rax*8+0Dh]
- seg000:0000000000D7819E vcvttss2si rsi, xmm1
- seg000:0000000000D781A3 vxorps xmm1, xmm1, xmm1
- seg000:0000000000D781A7 add esi, edx
- seg000:0000000000D781A9 vucomiss xmm0, xmm1
- seg000:0000000000D781AD mov [rcx+rax*8+0Dh], sil
- seg000:0000000000D781B2 jnb short loc_D781E5
- seg000:0000000000D781B4 movzx esi, sil
- seg000:0000000000D781B8 cmp esi, edx
- seg000:0000000000D781BA jbe short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781BC mov byte ptr [rcx+rax*8+0Dh], 0
- seg000:0000000000D781C1 jmp short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781C3 ; ---------------------------------------------------------------------------
- seg000:0000000000D781C3
- seg000:0000000000D781C3 loc_D781C3: ; CODE XREF: sub_D77E60+2D5j
- seg000:0000000000D781C3 jbe short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781C5 movzx esi, sil
- seg000:0000000000D781C9 cmp esi, edx
- seg000:0000000000D781CB jnb short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781CD mov byte ptr [rcx+rax*8+0Ah], 0FFh
- seg000:0000000000D781D2 jmp short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781D4 ; ---------------------------------------------------------------------------
- seg000:0000000000D781D4
- seg000:0000000000D781D4 loc_D781D4: ; CODE XREF: sub_D77E60+319j
- seg000:0000000000D781D4 jbe short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781D6 movzx esi, sil
- seg000:0000000000D781DA cmp esi, edx
- seg000:0000000000D781DC jnb short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781DE mov byte ptr [rcx+rax*8+0Eh], 0FFh
- seg000:0000000000D781E3 jmp short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781E5 ; ---------------------------------------------------------------------------
- seg000:0000000000D781E5
- seg000:0000000000D781E5 loc_D781E5: ; CODE XREF: sub_D77E60+352j
- seg000:0000000000D781E5 jbe short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781E7 movzx esi, sil
- seg000:0000000000D781EB cmp esi, edx
- seg000:0000000000D781ED jnb short loc_D781F4 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781EF mov byte ptr [rcx+rax*8+0Dh], 0FFh
- seg000:0000000000D781F4
- seg000:0000000000D781F4 loc_D781F4: ; CODE XREF: sub_D77E60+7Aj
- seg000:0000000000D781F4 ; sub_D77E60+82j ...
- seg000:0000000000D781F4 add rsp, 8 ; jumptable 0000000000D77EDA cases 1,2,5,6
- seg000:0000000000D781F8 pop rbx
- seg000:0000000000D781F9 pop rbp
- seg000:0000000000D781FA retn
- seg000:0000000000D781FA sub_D77E60 endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement