Function at 0x407c20
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa64
push ebx
push esi
mov dword [ebp - 0x7c], 0x2c
mov dword [0x42f024], 0xb
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x9c], eax
movzx ecx, word [ebp - 0x14]
add ecx, dword [ebp - 0x908]
mov dword [0x42f058], ecx
movzx edx, word [ebp - 0x8d4]
add edx, 0x49
mov dword [ebp - 0x8e8], edx
movzx eax, byte [ebp - 0x8bd]
sub eax, 0x44
or eax, dword [ebp - 0x8cc]
mov dword [ebp - 0x914], eax
mov ecx, dword [ebp - 0xa60]
add ecx, dword [ebp - 0x98]
and ecx, 0x33
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x968], 7
mov edx, dword [ebp - 0x908]
mov eax, dword [ebp - 0x99c]
lea ecx, [eax + edx + 0x30]
movzx edx, byte [ebp - 0x8d9]
sub ecx, edx
movzx eax, word [ebp - 0x90]
add ecx, eax
mov byte [ebp - 0x91a], cl
movzx ecx, word [ebp - 0xc]
movzx edx, word [ebp - 0x8c8]
imul edx, ecx
mov word [ebp - 0x8c8], dx
mov eax, dword [0x42f020]
xor eax, 0x6a
mov word [ebp - 0x18], ax
mov ecx, dword [0x42f038]
sub ecx, 0x3c
mov dword [0x42f038], ecx
movzx edx, byte [ebp - 0x919]
add edx, 0x3e
mov dword [0x42f01c], edx
mov dword [0x42f024], 0x5c
movzx eax, byte [ebp - 0x1a]
add eax, 0x75
movzx ecx, word [ebp - 0x900]
or eax, ecx
mov word [ebp - 0x900], ax
movzx edx, word [ebp - 0x90]
add edx, dword [0x42f020]
add edx, dword [0x42f01c]
movzx eax, word [ebp - 0x900]
sub edx, eax
add edx, dword [0x42f024]
mov byte [ebp - 0x8bd], dl
mov ecx, dword [ebp - 0x914]
add ecx, 0x97
sub ecx, dword [0x42f024]
and ecx, dword [0x42f020]
mov byte [ebp - 0x1a], cl
movzx edx, word [ebp - 0xa4]
mov eax, 2
sub eax, edx
add eax, 0x5b
mov byte [ebp - 0x1a], al
mov dword [ebp - 0x95c], 0x34
push 0x31
mov ecx, dword [ebp - 0xa5c]
push ecx
push 0x59
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
add eax, dword [ebp - 0xa5c]
xor eax, dword [ebp - 0x908]
mov dword [ebp - 0x10], eax
mov edx, dword [0x42f024]
sub edx, 0x36
mov word [ebp - 0x90], dx
mov dword [0x42f01c], 0x64
mov eax, dword [ebp - 0x9b0]
push eax
mov ecx, dword [ebp - 0x9b0]
push ecx
mov edx, dword [ebp - 0x8e8]
push edx
mov eax, dword [ebp - 0x8e8]
push eax
call fcn.00407980
add esp, 0x10
mov ecx, dword [ebp - 0x908]
sub ecx, eax
and ecx, dword [ebp - 0x908]
mov dword [ebp - 0x9bc], ecx
movzx edx, byte [ebp - 0x9a9]
sub edx, dword [ebp - 0x9b0]
mov dword [ebp - 0x8e8], edx
mov eax, dword [ebp - 0x99c]
mov ecx, dword [ebp - 0xa5c]
lea edx, [ecx + eax + 0x17]
sub edx, dword [ebp - 0xa60]
mov word [ebp - 0x8d4], dx
mov al, byte [ebp - 0x908]
mov byte [ebp - 0x908], al
mov dword [ebp - 0x68], 0x60
mov ecx, dword [ebp - 0x99c]
mov edx, dword [ebp - 0x99c]
lea eax, [edx + ecx - 0x32]
mov byte [ebp - 6], al
movzx ecx, word [ebp - 0xb0]
mov ebx, dword [ebp - 0x9a4]
sub ebx, ecx
movzx edx, word [ebp - 0xa48]
add ebx, edx
mov eax, dword [ebp - 0x8e8]
push eax
mov ecx, dword [ebp - 0x908]
push ecx
mov edx, dword [ebp - 0xa5c]
push edx
mov eax, dword [ebp - 0x8e8]
push eax
call fcn.00407660
add esp, 0x10
sub ebx, eax
add ebx, dword [ebp - 0x8e8]
mov byte [ebp - 0x1a], bl
mov dword [ebp - 0x9b0], 0x1b
movzx ecx, word [ebp - 0x8d4]
add ecx, dword [ebp - 0x9bc]
sub ecx, dword [ebp - 0xa60]
add ecx, 0x13
mov word [ebp - 0x8d8], cx
mov edx, dword [ebp - 0x9b0]
add edx, 0x1a
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xa5c], 0x34
movzx eax, byte [ebp - 0x8d9]
movzx ecx, word [ebp - 0x9c4]
lea edx, [eax + ecx - 0x2b]
movzx eax, word [ebp - 0x900]
sub edx, eax
mov word [ebp - 0xb0], dx
mov dword [ebp - 0x9c], 0x1c
mov ecx, dword [ebp - 0x908]
push ecx
call dword [sym.imp.GDI32.dll_GetLayout]
add eax, 0x1c
or eax, 0xd
mov dword [ebp - 0x9bc], eax
mov edx, dword [ebp - 0x908]
add edx, 0x38
mov eax, 0x5d
sub eax, dword [ebp - 0x8e8]
and edx, eax
mov word [ebp - 0x18], dx
movzx ecx, word [ebp - 0x99c]
mov dword [ebp - 0x99c], ecx
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x80], edx
movzx eax, word [ebp - 0x8c8]
add eax, dword [0x42f038]
mov dword [0x42f038], eax
movzx ecx, word [ebp - 0x985]
mov dword [ebp - 0x908], ecx
mov edx, dword [ebp - 0x908]
mov dword [ebp - 0xa18], edx
movzx eax, word [ebp - 0x900]
xor eax, 0x2c
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0xa5c]
mov edx, dword [ebp - 0xa5c]
add edx, 0x3a
xor ecx, edx
mov word [ebp - 0x8fc], cx
mov eax, dword [ebp - 0xa5c]
add eax, 0x1a
xor eax, dword [ebp - 0x908]
mov word [ebp - 0x918], ax
mov dword [ebp - 0xa64], 0
jmp 0x407fd5
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 7
jge 0x40806d
movzx edx, word [ebp - 0x8d8]
mov eax, 0x5a
sub eax, edx
mov ecx, dword [ebp - 0x9a4]
lea edx, [eax + ecx + 0x3a]
xor edx, dword [ebp - 0xa40]
mov byte [ebp - 0xa55], dl
mov dword [ebp - 0x8e8], 0x2c
movzx eax, word [ebp - 0x8d8]
sub eax, dword [ebp - 0xa60]
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0xa60]
and ecx, dword [ebp - 0x914]
mov dword [ebp - 0x908], ecx
movzx edx, byte [ebp - 0x9a9]
mov eax, dword [ebp - 0x8e8]
sub eax, edx
movzx ecx, byte [ebp - 0xa55]
sub ecx, dword [ebp - 0x914]
sub ecx, 0x11
xor eax, ecx
mov byte [ebp - 0xa55], al
mov edx, dword [ebp - 0xa60]
mov dword [ebp - 0x9d4], edx
jmp 0x407fc6
mov eax, dword [ebp - 0x99c]
add eax, 0x44
mov dword [ebp - 0x99c], eax
fld qword [0x46c928]
fstp qword [ebp - 0x8b0]
fld qword [0x46c920]
fstp qword [ebp - 0x8a8]
fld qword [0x46c918]
fstp qword [ebp - 0x8a0]
fld qword [0x46c910]
fstp qword [ebp - 0x898]
fld qword [0x46c908]
fstp qword [ebp - 0x890]
fld qword [0x46c900]
fstp qword [ebp - 0x888]
fld qword [0x46c8f8]
fstp qword [ebp - 0x880]
fld qword [0x46c8f0]
fstp qword [ebp - 0x878]
fld qword [0x46c8e8]
fstp qword [ebp - 0x870]
fld qword [0x46c8e0]
fstp qword [ebp - 0x868]
fld qword [0x46c8d8]
fstp qword [ebp - 0x860]
fld qword [0x46c8d0]
fstp qword [ebp - 0x858]
fld qword [0x46c8c8]
fstp qword [ebp - 0x850]
fld qword [0x46c8c0]
fstp qword [ebp - 0x848]
fld qword [0x46c8b8]
fstp qword [ebp - 0x840]
fld qword [0x46c8b0]
fstp qword [ebp - 0x838]
fld qword [0x46c8a8]
fstp qword [ebp - 0x830]
fld qword [0x46c8a0]
fstp qword [ebp - 0x828]
fld qword [0x46c898]
fstp qword [ebp - 0x820]
fld qword [0x46c890]
fstp qword [ebp - 0x818]
fld qword [0x46c888]
fstp qword [ebp - 0x810]
fld qword [0x46c880]
fstp qword [ebp - 0x808]
fld qword [0x46c878]
fstp qword [ebp - 0x800]
fld qword [0x46c870]
fstp qword [ebp - 0x7f8]
fld qword [0x46c868]
fstp qword [ebp - 0x7f0]
fld qword [0x46c860]
fstp qword [ebp - 0x7e8]
fld qword [0x46c858]
fstp qword [ebp - 0x7e0]
fld qword [0x46c850]
fstp qword [ebp - 0x7d8]
fld qword [0x46c848]
fstp qword [ebp - 0x7d0]
fld qword [0x46c840]
fstp qword [ebp - 0x7c8]
fld qword [0x46c838]
fstp qword [ebp - 0x7c0]
fld qword [0x46c830]
fstp qword [ebp - 0x7b8]
fld qword [0x46c828]
fstp qword [ebp - 0x7b0]
fld qword [0x46c820]
fstp qword [ebp - 0x7a8]
fld qword [0x46c818]
fstp qword [ebp - 0x7a0]
fld qword [0x46c830]
fstp qword [ebp - 0x798]
fld qword [0x46c810]
fstp qword [ebp - 0x790]
fld qword [0x46c808]
fstp qword [ebp - 0x788]
fld qword [0x46c800]
fstp qword [ebp - 0x780]
fld qword [0x46c7f8]
fstp qword [ebp - 0x778]
fld qword [0x46c7f0]
fstp qword [ebp - 0x770]
fld qword [0x46c7e8]
fstp qword [ebp - 0x768]
fld qword [0x46c7e0]
fstp qword [ebp - 0x760]
fld qword [0x46c7d8]
fstp qword [ebp - 0x758]
fld qword [0x46c7d0]
fstp qword [ebp - 0x750]
fld qword [0x46c7c8]
fstp qword [ebp - 0x748]
fld qword [0x46c7c0]
fstp qword [ebp - 0x740]
fld qword [0x46c7b8]
fstp qword [ebp - 0x738]
fld qword [0x46c7b0]
fstp qword [ebp - 0x730]
fld qword [0x46c7a8]
fstp qword [ebp - 0x728]
fld qword [0x46c7a0]
fstp qword [ebp - 0x720]
fld qword [0x46c7c8]
fstp qword [ebp - 0x718]
fld qword [0x46c798]
fstp qword [ebp - 0x710]
fld qword [0x46c790]
fstp qword [ebp - 0x708]
fld qword [0x46c928]
fstp qword [ebp - 0x700]
fld qword [0x46c860]
fstp qword [ebp - 0x6f8]
fld qword [0x46c788]
fstp qword [ebp - 0x6f0]
fld qword [0x46c780]
fstp qword [ebp - 0x6e8]
fld qword [0x46c778]
fstp qword [ebp - 0x6e0]
fld qword [0x46c770]
fstp qword [ebp - 0x6d8]
fld qword [0x46c768]
fstp qword [ebp - 0x6d0]
fldz
fstp qword [ebp - 0x6c8]
fld qword [0x46c760]
fstp qword [ebp - 0x6c0]
fld qword [0x46c900]
fstp qword [ebp - 0x6b8]
fld qword [0x46c758]
fstp qword [ebp - 0x6b0]
fld qword [0x46c750]
fstp qword [ebp - 0x6a8]
fld qword [0x46c748]
fstp qword [ebp - 0x6a0]
fld qword [0x46c740]
fstp qword [ebp - 0x698]
fld qword [0x46c7e8]
fstp qword [ebp - 0x690]
fld1
fstp qword [ebp - 0x688]
fld qword [0x46c738]
fstp qword [ebp - 0x680]
fld qword [0x46c730]
fstp qword [ebp - 0x678]
fld qword [0x46c728]
fstp qword [ebp - 0x670]
fld qword [0x46c720]
fstp qword [ebp - 0x668]
fld qword [0x46c718]
fstp qword [ebp - 0x660]
fld qword [0x46c710]
fstp qword [ebp - 0x658]
fld qword [0x46c770]
fstp qword [ebp - 0x650]
fld qword [0x46c708]
fstp qword [ebp - 0x648]
fld qword [0x46c7e8]
fstp qword [ebp - 0x640]
fld qword [0x46c700]
fstp qword [ebp - 0x638]
fld qword [0x46c6f8]
fstp qword [ebp - 0x630]
fld qword [0x46c6f0]
fstp qword [ebp - 0x628]
fld qword [0x46c880]
fstp qword [ebp - 0x620]
fld qword [0x46c728]
fstp qword [ebp - 0x618]
fld qword [0x46c918]
fstp qword [ebp - 0x610]
fld qword [0x46c6e8]
fstp qword [ebp - 0x608]
fld qword [0x46c760]
fstp qword [ebp - 0x600]
fld qword [0x46c770]
fstp qword [ebp - 0x5f8]
fld qword [0x46c6e0]
fstp qword [ebp - 0x5f0]
fld qword [0x46c6d8]
fstp qword [ebp - 0x5e8]
fld qword [0x46c6d0]
fstp qword [ebp - 0x5e0]
fld qword [0x46c7d0]
fstp qword [ebp - 0x5d8]
fld qword [0x46c6c8]
fstp qword [ebp - 0x5d0]
fld qword [0x46c888]
fstp qword [ebp - 0x5c8]
fld qword [0x46c760]
fstp qword [ebp - 0x5c0]
fld qword [0x46c6c0]
fstp qword [ebp - 0x5b8]
fld qword [0x46c6b8]
fstp qword [ebp - 0x5b0]
fld qword [0x46c6b0]
fstp qword [ebp - 0x5a8]
fld qword [0x46c6a8]
fstp qword [ebp - 0x5a0]
fld qword [0x46c6a0]
fstp qword [ebp - 0x598]
fld qword [0x46c8e0]
fstp qword [ebp - 0x590]
fld qword [0x46c698]
fstp qword [ebp - 0x588]
fld qword [0x46c690]
fstp qword [ebp - 0x580]
fld qword [0x46c688]
fstp qword [ebp - 0x578]
fld qword [0x46c680]
fstp qword [ebp - 0x570]
fld qword [0x46c678]
fstp qword [ebp - 0x568]
fld qword [0x46c670]
fstp qword [ebp - 0x560]
fld qword [0x46c668]
fstp qword [ebp - 0x558]
fld qword [0x46c660]
fstp qword [ebp - 0x550]
fld qword [0x46c888]
fstp qword [ebp - 0x548]
fld qword [0x46c810]
fstp qword [ebp - 0x540]
fld qword [0x46c658]
fstp qword [ebp - 0x538]
fld qword [0x46c8f8]
fstp qword [ebp - 0x530]
fld qword [0x46c650]
fstp qword [ebp - 0x528]
fld qword [0x46c648]
fstp qword [ebp - 0x520]
fld qword [0x46c640]
fstp qword [ebp - 0x518]
fld qword [0x46c638]
fstp qword [ebp - 0x510]
fld qword [0x46c630]
fstp qword [ebp - 0x508]
fld qword [0x46c628]
fstp qword [ebp - 0x500]
fld qword [0x46c790]
fstp qword [ebp - 0x4f8]
fld qword [0x46c620]
fstp qword [ebp - 0x4f0]
fld qword [0x46c618]
fstp qword [ebp - 0x4e8]
fld qword [0x46c610]
fstp qword [ebp - 0x4e0]
fld qword [0x46c608]
fstp qword [ebp - 0x4d8]
fld qword [0x46c600]
fstp qword [ebp - 0x4d0]
fld qword [0x46c5f8]
fstp qword [ebp - 0x4c8]
fld qword [0x46c5f0]
fstp qword [ebp - 0x4c0]
fld qword [0x46c5e8]
fstp qword [ebp - 0x4b8]
fld qword [0x46c5e0]
fstp qword [ebp - 0x4b0]
fld qword [0x46c7c8]
fstp qword [ebp - 0x4a8]
fld qword [0x46c5d8]
fstp qword [ebp - 0x4a0]
fld qword [0x46c778]
fstp qword [ebp - 0x498]
fld qword [0x46c5d0]
fstp qword [ebp - 0x490]
fld qword [0x46c748]
fstp qword [ebp - 0x488]
fld qword [0x46c5c8]
fstp qword [ebp - 0x480]
fld qword [0x46c5c0]
fstp qword [ebp - 0x478]
fld qword [0x46c5b8]
fstp qword [ebp - 0x470]
fld qword [0x46c5b0]
fstp qword [ebp - 0x468]
fld qword [0x46c5a8]
fstp qword [ebp - 0x460]
fld qword [0x46c618]
fstp qword [ebp - 0x458]
fld qword [0x46c720]
fstp qword [ebp - 0x450]
fld qword [0x46c7a8]
fstp qword [ebp - 0x448]
fld qword [0x46c798]
fstp qword [ebp - 0x440]
fld qword [0x46c5a0]
fstp qword [ebp - 0x438]
fld qword [0x46c7c0]
fstp qword [ebp - 0x430]
fld qword [0x46c7d0]
fstp qword [ebp - 0x428]
fld qword [0x46c598]
fstp qword [ebp - 0x420]
fld qword [0x46c590]
fstp qword [ebp - 0x418]
fld qword [0x46c810]
fstp qword [ebp - 0x410]
fld qword [0x46c700]
fstp qword [ebp - 0x408]
fld qword [0x46c588]
fstp qword [ebp - 0x400]
fld qword [0x46c580]
fstp qword [ebp - 0x3f8]
fld qword [0x46c8c8]
fstp qword [ebp - 0x3f0]
fld qword [0x46c578]
fstp qword [ebp - 0x3e8]
fld qword [0x46c910]
fstp qword [ebp - 0x3e0]
fld qword [0x46c570]
fstp qword [ebp - 0x3d8]
fld qword [0x46c5a0]
fstp qword [ebp - 0x3d0]
fld qword [0x46c568]
fstp qword [ebp - 0x3c8]
fld qword [0x46c560]
fstp qword [ebp - 0x3c0]
fld qword [0x46c630]
fstp qword [ebp - 0x3b8]
fld qword [0x46c558]
fstp qword [ebp - 0x3b0]
fld qword [0x46c550]
fstp qword [ebp - 0x3a8]
fld qword [0x46c548]
fstp qword [ebp - 0x3a0]
fld qword [0x46c540]
fstp qword [ebp - 0x398]
fld qword [0x46c628]
fstp qword [ebp - 0x390]
fld qword [0x46c538]
fstp qword [ebp - 0x388]
fld qword [0x46c530]
fstp qword [ebp - 0x380]
fld qword [0x46c790]
fstp qword [ebp - 0x378]
fld qword [0x46c528]
fstp qword [ebp - 0x370]
fld qword [0x46c768]
fstp qword [ebp - 0x368]
fld qword [0x46c748]
fstp qword [ebp - 0x360]
fld qword [0x46c520]
fstp qword [ebp - 0x358]
fld qword [0x46c6d0]
fstp qword [ebp - 0x350]
fld qword [0x46c650]
fstp qword [ebp - 0x348]
fld qword [0x46c518]
fstp qword [ebp - 0x340]
fld qword [0x46c928]
fstp qword [ebp - 0x338]
fld qword [0x46c510]
fstp qword [ebp - 0x330]
fld qword [0x46c608]
fstp qword [ebp - 0x328]
fld qword [0x46c508]
fstp qword [ebp - 0x320]
fld qword [0x46c7c8]
fstp qword [ebp - 0x318]
fld qword [0x46c570]
fstp qword [ebp - 0x310]
fld qword [0x46c810]
fstp qword [ebp - 0x308]
fld qword [0x46c500]
fstp qword [ebp - 0x300]
fld qword [0x46c5d0]
fstp qword [ebp - 0x2f8]
fld qword [0x46c650]
fstp qword [ebp - 0x2f0]
fld qword [0x46c4f8]
fstp qword [ebp - 0x2e8]
fld qword [0x46c4f0]
fstp qword [ebp - 0x2e0]
fld qword [0x46c4e8]
fstp qword [ebp - 0x2d8]
fld qword [0x46c528]
fstp qword [ebp - 0x2d0]
fld qword [0x46c4e0]
fstp qword [ebp - 0x2c8]
fld qword [0x46c7e0]
fstp qword [ebp - 0x2c0]
fld qword [0x46c5a8]
fstp qword [ebp - 0x2b8]
fld qword [0x46c4d8]
fstp qword [ebp - 0x2b0]
fld qword [0x46c6e0]
fstp qword [ebp - 0x2a8]
fld qword [0x46c880]
fstp qword [ebp - 0x2a0]
fld qword [0x46c828]
fstp qword [ebp - 0x298]
fld qword [0x46c740]
fstp qword [ebp - 0x290]
fld qword [0x46c908]
fstp qword [ebp - 0x288]
fldz
fstp qword [ebp - 0x280]
fld qword [0x46c4d0]
fstp qword [ebp - 0x278]
fld qword [0x46c780]
fstp qword [ebp - 0x270]
fld qword [0x46c8c0]
fstp qword [ebp - 0x268]
fld qword [0x46c708]
fstp qword [ebp - 0x260]
fld qword [0x46c4c8]
fstp qword [ebp - 0x258]
fld qword [0x46c4c0]
fstp qword [ebp - 0x250]
fld qword [0x46c4b8]
fstp qword [ebp - 0x248]
fld qword [0x46c4b0]
fstp qword [ebp - 0x240]
fld qword [0x46c878]
fstp qword [ebp - 0x238]
fld qword [0x46c750]
fstp qword [ebp - 0x230]
fld qword [0x46c4a8]
fstp qword [ebp - 0x228]
fld qword [0x46c848]
fstp qword [ebp - 0x220]
fld qword [0x46c530]
fstp qword [ebp - 0x218]
fld qword [0x46c6e8]
fstp qword [ebp - 0x210]
fld qword [0x46c4c0]
fstp qword [ebp - 0x208]
fld qword [0x46c4c8]
fstp qword [ebp - 0x200]
fld qword [0x46c4a0]
fstp qword [ebp - 0x1f8]
fld qword [0x46c498]
fstp qword [ebp - 0x1f0]
fld qword [0x46c4d0]
fstp qword [ebp - 0x1e8]
fld qword [0x46c490]
fstp qword [ebp - 0x1e0]
fld qword [0x46c488]
fstp qword [ebp - 0x1d8]
fld qword [0x46c480]
fstp qword [ebp - 0x1d0]
fld qword [0x46c478]
fstp qword [ebp - 0x1c8]
fld qword [0x46c560]
fstp qword [ebp - 0x1c0]
fld qword [0x46c470]
fstp qword [ebp - 0x1b8]
fld qword [0x46c8a8]
fstp qword [ebp - 0x1b0]
fld qword [0x46c468]
fstp qword [ebp - 0x1a8]
fld qword [0x46c710]
fstp qword [ebp - 0x1a0]
fld qword [0x46c4f8]
fstp qword [ebp - 0x198]
fld qword [0x46c8e0]
fstp qword [ebp - 0x190]
fld qword [0x46c690]
fstp qword [ebp - 0x188]
fld qword [0x46c8b0]
fstp qword [ebp - 0x180]
fld qword [0x46c900]
fstp qword [ebp - 0x178]
fld qword [0x46c700]
fstp qword [ebp - 0x170]
fld qword [0x46c460]
fstp qword [ebp - 0x168]
fld qword [0x46c458]
fstp qword [ebp - 0x160]
fld qword [0x46c450]
fstp qword [ebp - 0x158]
fld qword [0x46c648]
fstp qword [ebp - 0x150]
fld qword [0x46c6b0]
fstp qword [ebp - 0x148]
fld qword [0x46c448]
fstp qword [ebp - 0x140]
fld qword [0x46c440]
fstp qword [ebp - 0x138]
fld qword [0x46c590]
fstp qword [ebp - 0x130]
fld qword [0x46c8e8]
fstp qword [ebp - 0x128]
fld qword [0x46c908]
fstp qword [ebp - 0x120]
fld qword [0x46c878]
fstp qword [ebp - 0x118]
fld qword [0x46c510]
fstp qword [ebp - 0x110]
fld qword [0x46c438]
fstp qword [ebp - 0x108]
fld qword [0x46c5d8]
fstp qword [ebp - 0x100]
fld qword [0x46c5b8]
fstp qword [ebp - 0xf8]
fld qword [0x46c4d8]
fstp qword [ebp - 0xf0]
fld qword [0x46c6f0]
fstp qword [ebp - 0xe8]
fld qword [0x46c430]
fstp qword [ebp - 0xe0]
fld qword [0x46c640]
fstp qword [ebp - 0xd8]
fld qword [0x46c428]
fstp qword [ebp - 0xd0]
fld qword [0x46c420]
fstp qword [ebp - 0xc8]
fld qword [0x46c458]
fstp qword [ebp - 0xc0]
fld qword [0x46c418]
fstp qword [ebp - 0xb8]
push 0x2af8
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, 0x230
mov esi, 0x1bc
add ebx, esi
sub ebx, esi
or esi, esi
xor ebx, ebx
mov dword [0x435a60], eax
push 0x46c410
push 0
call fcn.00422024
add esp, 8
mov ecx, 0x41
sub ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x8e8]
add edx, 0x3f
sub edx, dword [ebp - 0x908]
xor ecx, edx
mov byte [ebp - 0x8bd], cl
movzx eax, word [ebp - 0x8c8]
movzx ecx, word [ebp - 0xa38]
add ecx, dword [ebp - 0x9c]
xor eax, ecx
mov byte [ebp - 0xa55], al
movzx edx, byte [ebp - 0x91a]
add edx, 0x18
mov eax, dword [ebp - 0x9c]
add eax, 0xc
and edx, eax
mov byte [ebp - 0x9bd], dl
mov esi, dword [ebp - 0xa44]
add esi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x99c]
push ecx
mov edx, dword [ebp - 0x9b0]
push edx
mov eax, dword [ebp - 0x908]
push eax
mov ecx, dword [ebp - 0x8e8]
push ecx
mov edx, dword [ebp - 0x9b0]
push edx
call fcn.00405e60
add esp, 0x14
sub esi, eax
add esi, 0x54
mov word [ebp - 0x18], si
mov eax, 0x59
sub eax, dword [ebp - 0x8e8]
sub eax, 0x21
mov dword [ebp - 0x8f8], eax
mov ecx, dword [ebp - 0xa60]
mov dword [ebp - 0x9e0], ecx
movzx edx, byte [ebp - 0x9bd]
movzx eax, word [ebp - 0xa48]
sub eax, dword [ebp - 0xa60]
and edx, eax
mov dword [ebp - 0xac], edx
movzx ecx, byte [ebp - 0x91]
mov edx, dword [ebp - 0x99c]
lea eax, [edx + ecx + 0x54]
or eax, 0x81
mov byte [ebp - 0xa55], al
movzx ecx, word [ebp - 0x900]
add ecx, dword [ebp - 0x9b0]
mov edx, dword [ebp - 0x9b0]
add edx, 0x40
and ecx, edx
xor ecx, dword [ebp - 0x99c]
mov byte [ebp - 0x19], cl
mov dword [0x42f040], 0x15
mov dword [ebp - 0x44], 0x5f
movzx eax, word [ebp - 0x8d0]
movzx ecx, byte [ebp - 7]
add ecx, dword [ebp - 0x9c]
sub ecx, dword [ebp - 0x908]
xor eax, ecx
mov word [ebp - 0xb0], ax
movzx edx, byte [ebp - 0x902]
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0x8e8], 0x58
mov eax, dword [ebp - 0xa5c]
sub eax, dword [ebp - 0x908]
or eax, 0x57
mov dword [ebp - 0x8e0], eax
mov ecx, dword [ebp - 0xa5c]
add ecx, dword [ebp - 0x8c]
movzx edx, word [ebp - 0x18]
add ecx, dword [ebp - 0x99c]
add edx, ecx
mov word [ebp - 0x900], dx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret