Function at 0x45d8c0
Capabilities:
Check for unmoving mouse cursor
Contain obfuscated stackstrings
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5d464d
push eax
mov eax, 0x1210
mov dword fs:[0], esp
call fcn.005301e0
push ebx
push esi
push edi
mov esi, ecx
call fcn.005cb95c
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
test eax, eax
mov dword [esp + 0x14], eax
je case.0x45d96d.42
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
mov ebx, dword [esi + 0x3c]
push 0x11
mov dword [esp + 0x58], 0
call edi
test ax, ax
jge 0x45d923
mov dword [esp + 0x54], 1
push 0x10
mov dword [esp + 0x10], 0
call edi
test ax, ax
jge 0x45d93c
mov dword [esp + 0xc], 1
push 0x12
mov dword [esp + 0x14], 0
call edi
test ax, ax
mov ecx, 1
jge 0x45d956
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 8]
add eax, 0xffffffdb
cmp eax, 0x1d
ja case.0x45d96d.42
xor edx, edx
mov dl, byte [eax + 0x45f884]
jmp dword [edx*4 + 0x45f86c]
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [esi + 0x2ec]
test ax, ax
mov eax, 1
jge 0x45def5
cmp ecx, eax
jne 0x45d9a2
mov ecx, dword [esi + 0x2f0]
xor edi, edi
cmp ecx, edi
jne 0x45d9b4
jmp 0x45d9a4
xor edi, edi
cmp dword [esi + 0x2f4], eax
jne 0x45d9c0
cmp dword [esi + 0x2fc], edi
je 0x45d9c0
cmp dword [esi + 0x550], eax
jge case.0x45d96d.42
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push edi
push eax
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jb 0x45dd8f
fld qword [0x880b0c]
fmul qword [0x5e9fe0]
lea eax, [esp + 0x6d4]
mov edi, 0x2710
push eax
mov ecx, esi
fmul qword [0x5ea018]
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
fstp qword [esp + 0x100]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], edx
mov ecx, dword [eax + 0x18]
add eax, 0x1c
mov dword [esp + 0xc0], ecx
push eax
lea ecx, [esp + 0xc8]
call fcn.0042cf80
mov edx, dword [esi + 0x138]
mov eax, dword [esi + 0x13c]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], edi
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
push 1
lea eax, [esp + 0xe4]
mov dword [esp + 0xec], ecx
push 1
push eax
lea ecx, [esp + 0x108]
lea eax, [ebx + 0x58]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
push ebx
mov dword [esp + 0x104], edx
call fcn.00479ee0
lea edx, [esp + 0x93c]
mov ecx, esi
push edx
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x18]
add eax, 0x1c
mov dword [esp + 0x34], ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.0042cf80
fld qword [esp + 0xa8]
fcomp qword [esp + 0x1c]
fnstsw ax
test ah, 1
je 0x45dce5
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x45dcf5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
fld qword [esp + 0xb0]
fcomp qword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x45dd10
fld qword [esp + 0xb0]
jmp 0x45dd14
fld qword [esp + 0x24]
fstp qword [esp + 0x60]
fld qword [esp + 0xc4]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x45dd33
fld qword [esp + 0xc4]
jmp 0x45dd37
fld qword [esp + 0x38]
fstp qword [esp + 0x74]
fld qword [esp + 0xcc]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x45dd56
fld qword [esp + 0xcc]
jmp 0x45dd5a
fld qword [esp + 0x40]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 1
call fcn.0045ce20
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x474], 1
jne case.0x45d96d.42
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
fld qword [0x880b0c]
fmul qword [0x5e9fe0]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x6a0]
fmul qword [0x5ea018]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
fstp qword [esp + 0x108]
mov dword [esp + 0x11c], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0x2710
call fcn.0044ce00
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x684]
push edx
push eax
call fcn.0044ce00
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esi + 0x478]
mov dword [esp + 0xec], edx
lea edx, [esp + 0xfc]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0xe4]
push edx
call dword [eax + 8]
lea eax, [esp + 0x124]
mov ecx, esi
push eax
push edi
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], edi
mov dword [esp + 0x138], edi
call fcn.0045cd10
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ecx, eax
jne 0x45df03
mov ecx, dword [esi + 0x2f0]
test ecx, ecx
jne 0x45df15
cmp dword [esi + 0x2f4], eax
jne 0x45df21
mov ecx, dword [esi + 0x2fc]
test ecx, ecx
je 0x45df21
cmp dword [esi + 0x550], eax
jge case.0x45d96d.42
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], 0
cmp ecx, eax
mov dword [esp + 0x94], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
je case.0x45d96d.42
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45df8d
fld qword [0x880b04]
fmul qword [0x880afc]
fmul qword [0x5e7fd0]
fchs
jmp 0x45dfac
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45dfa3
fld qword [0x880afc]
fmul qword [0x5e98b8]
jmp 0x45dfac
push 0xffffffffffffffff
mov ecx, esi
call fcn.0044cde0
fstp qword [esp + 0x90]
lea edi, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push 0
push edi
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jne 0x45e024
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x45e024
mov ecx, dword [esp + 0xc]
push edi
call fcn.00470290
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.00549f80
cmp dword [esi + 0x54c], 2
jne 0x45e024
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x90]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00463c10
cmp eax, 1
jne 0x45e024
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0xc]
push 0
push edi
call fcn.0046fb00
cmp eax, 1
jb case.0x45d96d.42
lea eax, [esp + 0x9ac]
mov edi, 0x2710
push eax
mov ecx, esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x18]
add eax, 0x1c
mov dword [esp + 0x34], ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.0042cf80
mov ecx, dword [esp + 0xc]
push 1
lea edx, [esp + 0x94]
push 1
lea eax, [ebx + 0x58]
push edx
push eax
push ebx
call fcn.00479ea0
lea eax, [esp + 0x744]
mov ecx, esi
push eax
call fcn.00453f50
mov ecx, dword [eax]
add eax, 0x1c
mov dword [esi + 0x100], ecx
mov edx, dword [eax - 0x18]
mov dword [esi + 0x104], edx
mov ecx, dword [eax - 0x14]
mov dword [esi + 0x108], ecx
mov edx, dword [eax - 0x10]
mov dword [esi + 0x10c], edx
mov ecx, dword [eax - 0xc]
mov dword [esi + 0x110], ecx
mov edx, dword [eax - 8]
mov dword [esi + 0x114], edx
mov ecx, dword [eax - 4]
mov dword [esi + 0x118], ecx
push eax
lea ecx, [esi + 0x11c]
call fcn.0042cf80
fld qword [esi + 0x11c]
fadd qword [esi + 0x100]
fmul qword [0x5e7c18]
fstp qword [esi + 0x138]
fld qword [esi + 0x124]
fadd qword [esi + 0x108]
fmul qword [0x5e7c18]
fstp qword [esi + 0x140]
fld qword [esi + 0x12c]
fadd qword [esi + 0x110]
fmul qword [0x5e7c18]
fstp qword [esi + 0x148]
fld qword [esp + 0x1c]
fcomp qword [esi + 0x100]
fnstsw ax
test ah, 1
je 0x45e24a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x45e25e
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x104]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
fld qword [esp + 0x24]
fcomp qword [esi + 0x108]
fnstsw ax
test ah, 1
je 0x45e275
fld qword [esp + 0x24]
jmp 0x45e27b
fld qword [esi + 0x108]
fstp qword [esp + 0x60]
fld qword [esp + 0x38]
fcomp qword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x45e296
fld qword [esp + 0x38]
jmp 0x45e29c
fld qword [esi + 0x11c]
fstp qword [esp + 0x74]
fld qword [esp + 0x40]
fcomp qword [esi + 0x124]
fnstsw ax
test ah, 0x41
jne 0x45e2b7
fld qword [esp + 0x40]
jmp 0x45e2bd
fld qword [esi + 0x124]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x4161]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45e2f3
mov ecx, dword [edi + 0x4161]
push 0
push 0
push 0x474
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
lea edx, [esp + 0x58]
mov ecx, esi
push edx
push 1
call fcn.0045ce20
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [esi + 0x2ec]
test ax, ax
mov eax, 1
jge 0x45e89e
cmp ecx, eax
jne 0x45e34b
mov ecx, dword [esi + 0x2f0]
xor edi, edi
cmp ecx, edi
jne 0x45e35d
jmp 0x45e34d
xor edi, edi
cmp dword [esi + 0x2f4], eax
jne 0x45e369
cmp dword [esi + 0x2fc], edi
je 0x45e369
cmp dword [esi + 0x550], eax
jge case.0x45d96d.42
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push edi
push eax
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jb 0x45e738
fld qword [0x880b0c]
fmul qword [0x5ea010]
lea eax, [esp + 0x974]
mov edi, 0x2710
push eax
mov ecx, esi
fmul qword [0x5ea018]
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
fstp qword [esp + 0x100]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x18]
add eax, 0x1c
mov dword [esp + 0x34], ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.0042cf80
mov edx, dword [esi + 0x138]
mov eax, dword [esi + 0x13c]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], edi
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x144]
push 1
lea eax, [esp + 0xe4]
mov dword [esp + 0xec], ecx
push 1
push eax
lea ecx, [esp + 0x108]
lea eax, [ebx + 0x58]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
push ebx
mov dword [esp + 0x104], edx
call fcn.00479ee0
lea edx, [esp + 0x7b4]
mov ecx, esi
push edx
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], edx
mov ecx, dword [eax + 0x18]
add eax, 0x1c
mov dword [esp + 0xc0], ecx
push eax
lea ecx, [esp + 0xc8]
call fcn.0042cf80
fld qword [esp + 0x1c]
fcomp qword [esp + 0xa8]
fnstsw ax
test ah, 1
je 0x45e688
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x45e69e
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
fld qword [esp + 0x24]
fcomp qword [esp + 0xb0]
fnstsw ax
test ah, 1
je 0x45e6b6
fld qword [esp + 0x24]
jmp 0x45e6bd
fld qword [esp + 0xb0]
fstp qword [esp + 0x60]
fld qword [esp + 0x38]
fcomp qword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x45e6d9
fld qword [esp + 0x38]
jmp 0x45e6e0
fld qword [esp + 0xc4]
fstp qword [esp + 0x74]
fld qword [esp + 0x40]
fcomp qword [esp + 0xcc]
fnstsw ax
test ah, 0x41
jne 0x45e6fc
fld qword [esp + 0x40]
jmp 0x45e703
fld qword [esp + 0xcc]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 1
call fcn.0045ce20
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x474], 1
jne case.0x45d96d.42
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
fld qword [0x880b0c]
fmul qword [0x5ea010]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x6bc]
fmul qword [0x5ea018]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
fstp qword [esp + 0x108]
mov dword [esp + 0x11c], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0x2710
call fcn.0044ce00
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x668]
push edx
push eax
call fcn.0044ce00
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esi + 0x478]
mov dword [esp + 0xec], edx
lea edx, [esp + 0xfc]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0xe4]
push edx
call dword [eax + 8]
lea eax, [esp + 0x114]
mov ecx, esi
push eax
push edi
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], edi
mov dword [esp + 0x128], edi
call fcn.0045cd10
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ecx, eax
jne 0x45e8ac
mov ecx, dword [esi + 0x2f0]
test ecx, ecx
jne 0x45e8be
cmp dword [esi + 0x2f4], eax
jne 0x45e8ca
mov ecx, dword [esi + 0x2fc]
test ecx, ecx
je 0x45e8ca
cmp dword [esi + 0x550], eax
jge case.0x45d96d.42
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], 0
cmp ecx, eax
mov dword [esp + 0x94], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
je case.0x45d96d.42
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x45e934
fld qword [0x880b04]
fmul qword [0x880afc]
fmul qword [0x5e7fd0]
jmp 0x45e952
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x45e94a
fld qword [0x880afc]
fmul qword [0x5e7fd0]
jmp 0x45e952
push eax
mov ecx, esi
call fcn.0044cde0
fstp qword [esp + 0x90]
lea edi, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push 0
push edi
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jne 0x45e9ca
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x45e9ca
mov ecx, dword [esp + 0xc]
push edi
call fcn.00470290
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.00549f80
cmp dword [esi + 0x54c], 2
jne 0x45e9ca
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x90]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00463c10
cmp eax, 1
jne 0x45e9ca
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0xc]
push 0
push edi
call fcn.0046fb00
cmp eax, 1
jb case.0x45d96d.42
lea eax, [esp + 0x904]
mov edi, 0x2710
push eax
mov ecx, esi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x28]
push 1
lea eax, [esp + 0x94]
push 1
push eax
lea eax, [ebx + 0x58]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x18]
push eax
push ebx
mov dword [esp + 0x58], edx
call fcn.00479ea0
lea ecx, [esp + 0x824]
push ecx
mov ecx, esi
call fcn.00453f50
mov edx, dword [eax]
mov dword [esi + 0x100], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0x104], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x108], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x10c], ecx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x110], edx
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x114], ecx
mov edx, dword [eax + 0x18]
mov dword [esi + 0x118], edx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x11c], ecx
mov edx, dword [eax + 0x20]
mov dword [esi + 0x120], edx
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x124], ecx
mov edx, dword [eax + 0x28]
mov dword [esi + 0x128], edx
mov ecx, dword [eax + 0x2c]
mov dword [esi + 0x12c], ecx
mov edx, dword [eax + 0x30]
mov dword [esi + 0x130], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x134], eax
fld qword [esi + 0x11c]
fadd qword [esi + 0x100]
fmul qword [0x5e7c18]
fstp qword [esi + 0x138]
fld qword [esi + 0x124]
fadd qword [esi + 0x108]
lea ecx, [esp + 0x9e4]
push ecx
mov ecx, esi
fmul qword [0x5e7c18]
fstp qword [esi + 0x140]
fld qword [esi + 0x12c]
fadd qword [esi + 0x110]
fmul qword [0x5e7c18]
fstp qword [esi + 0x148]
call fcn.00453f50
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
fld qword [eax]
fld qword [esp + 0x1c]
mov dword [esp + 0xb0], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0xb4], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xc4], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xc8], ecx
fcomp st(1)
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
fnstsw ax
test ah, 1
je 0x45ebfd
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
fstp st(0)
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
jmp 0x45ec01
fstp qword [esp + 0x58]
fld qword [esp + 0x24]
fcomp qword [esp + 0xb0]
fnstsw ax
test ah, 1
je 0x45ec19
fld qword [esp + 0x24]
jmp 0x45ec20
fld qword [esp + 0xb0]
fstp qword [esp + 0x60]
fld qword [esp + 0x38]
fcomp qword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x45ec3c
fld qword [esp + 0x38]
jmp 0x45ec43
fld qword [esp + 0xc4]
fstp qword [esp + 0x74]
fld qword [esp + 0x40]
fcomp qword [esp + 0xcc]
fnstsw ax
test ah, 0x41
jne 0x45ec5f
fld qword [esp + 0x40]
jmp 0x45ec66
fld qword [esp + 0xcc]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x4161]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45ec9c
mov ecx, dword [edi + 0x4161]
push 0
push 0
push 0x474
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
lea edx, [esp + 0x58]
mov ecx, esi
push edx
push 1
call fcn.0045ce20
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x2ec], ecx
jne 0x45ecd8
mov eax, dword [esi + 0x2f0]
test eax, eax
jne 0x45ecea
cmp dword [esi + 0x2f4], ecx
jne 0x45ecf6
mov eax, dword [esi + 0x2fc]
test eax, eax
je 0x45ecf6
cmp dword [esi + 0x550], ecx
jge case.0x45d96d.42
mov eax, dword [esp + 0x54]
mov dword [esp + 0x98], 0
cmp eax, ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
je case.0x45d96d.42
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45ed60
fld qword [0x880b04]
fmul qword [0x880afc]
fmul qword [0x5e7fd0]
jmp 0x45ed7f
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45ed76
fld qword [0x880afc]
fmul qword [0x5e7fd0]
jmp 0x45ed7f
push 1
mov ecx, esi
call fcn.0044cde0
fstp qword [esp + 0x98]
lea edi, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push 0
push edi
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jne 0x45edf7
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x45edf7
mov ecx, dword [esp + 0xc]
push edi
call fcn.00470290
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.00549f80
cmp dword [esi + 0x54c], 2
jne 0x45edf7
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x94]
push eax
push ecx
mov ecx, esi
call fcn.00463c10
cmp eax, 1
jne 0x45edf7
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0xc]
push 0
push edi
call fcn.0046fb00
cmp eax, 1
jb case.0x45d96d.42
lea edx, [esp + 0x894]
mov edi, 0x2710
push edx
mov ecx, esi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x28]
push 1
lea eax, [esp + 0x94]
push 1
push eax
lea eax, [ebx + 0x58]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x18]
push eax
push ebx
mov dword [esp + 0x58], edx
call fcn.00479ea0
lea ecx, [esp + 0x70c]
push ecx
mov ecx, esi
call fcn.00453f50
mov edx, dword [eax]
mov dword [esi + 0x100], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0x104], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x108], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x10c], ecx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x110], edx
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x114], ecx
mov edx, dword [eax + 0x18]
mov dword [esi + 0x118], edx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x11c], ecx
mov edx, dword [eax + 0x20]
mov dword [esi + 0x120], edx
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x124], ecx
mov edx, dword [eax + 0x28]
mov dword [esi + 0x128], edx
mov ecx, dword [eax + 0x2c]
mov dword [esi + 0x12c], ecx
mov edx, dword [eax + 0x30]
mov dword [esi + 0x130], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x134], eax
fld qword [esi + 0x11c]
fadd qword [esi + 0x100]
fmul qword [0x5e7c18]
fstp qword [esi + 0x138]
fld qword [esi + 0x124]
fadd qword [esi + 0x108]
lea ecx, [esp + 0x77c]
push ecx
mov ecx, esi
fmul qword [0x5e7c18]
fstp qword [esi + 0x140]
fld qword [esi + 0x12c]
fadd qword [esi + 0x110]
fmul qword [0x5e7c18]
fstp qword [esi + 0x148]
call fcn.00453f50
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
fld qword [eax]
fld qword [esp + 0x1c]
mov dword [esp + 0xb0], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0xb4], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xc4], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xc8], ecx
fcomp st(1)
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
fnstsw ax
test ah, 1
je 0x45f02a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
fstp st(0)
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
jmp 0x45f02e
fstp qword [esp + 0x58]
fld qword [esp + 0x24]
fcomp qword [esp + 0xb0]
fnstsw ax
test ah, 1
je 0x45f046
fld qword [esp + 0x24]
jmp 0x45f04d
fld qword [esp + 0xb0]
fstp qword [esp + 0x60]
fld qword [esp + 0x38]
fcomp qword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x45f069
fld qword [esp + 0x38]
jmp 0x45f070
fld qword [esp + 0xc4]
fstp qword [esp + 0x74]
fld qword [esp + 0x40]
fcomp qword [esp + 0xcc]
fnstsw ax
test ah, 0x41
jne 0x45f08c
fld qword [esp + 0x40]
jmp 0x45f093
fld qword [esp + 0xcc]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x4161]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45f0c9
mov ecx, dword [edi + 0x4161]
push 0
push 0
push 0x474
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
lea edx, [esp + 0x58]
mov ecx, esi
push edx
push 1
call fcn.0045ce20
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x2ec], ecx
jne 0x45f105
mov eax, dword [esi + 0x2f0]
test eax, eax
jne 0x45f117
cmp dword [esi + 0x2f4], ecx
jne 0x45f123
mov eax, dword [esi + 0x2fc]
test eax, eax
je 0x45f123
cmp dword [esi + 0x550], ecx
jge case.0x45d96d.42
mov eax, dword [esp + 0x54]
mov dword [esp + 0x98], 0
cmp eax, ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
je case.0x45d96d.42
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45f18f
fld qword [0x880b04]
fmul qword [0x880afc]
fmul qword [0x5e7fd0]
fchs
jmp 0x45f1ae
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45f1a5
fld qword [0x880afc]
fmul qword [0x5e98b8]
jmp 0x45f1ae
push 0xffffffffffffffff
mov ecx, esi
call fcn.0044cde0
fstp qword [esp + 0x98]
lea edi, [ebx + 0x58]
lea ecx, [ebx + 0x614]
push 0
push edi
mov dword [esp + 0x14], ecx
call fcn.0046fb00
cmp eax, 1
jne 0x45f226
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x45f226
mov ecx, dword [esp + 0xc]
push edi
call fcn.00470290
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.00549f80
cmp dword [esi + 0x54c], 2
jne 0x45f226
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x94]
push eax
push ecx
mov ecx, esi
call fcn.00463c10
cmp eax, 1
jne 0x45f226
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0xc]
push 0
push edi
call fcn.0046fb00
cmp eax, 1
jb case.0x45d96d.42
lea edx, [esp + 0x7ec]
mov edi, 0x2710
push edx
mov ecx, esi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], edi
call fcn.00453f50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x28]
push 1
lea eax, [esp + 0x94]
push 1
push eax
lea eax, [ebx + 0x58]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x18]
push eax
push ebx
mov dword [esp + 0x58], edx
call fcn.00479ea0
lea ecx, [esp + 0x85c]
push ecx
mov ecx, esi
call fcn.00453f50
mov edx, dword [eax]
mov dword [esi + 0x100], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0x104], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x108], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x10c], ecx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x110], edx
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x114], ecx
mov edx, dword [eax + 0x18]
mov dword [esi + 0x118], edx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x11c], ecx
mov edx, dword [eax + 0x20]
mov dword [esi + 0x120], edx
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x124], ecx
mov edx, dword [eax + 0x28]
mov dword [esi + 0x128], edx
mov ecx, dword [eax + 0x2c]
mov dword [esi + 0x12c], ecx
mov edx, dword [eax + 0x30]
mov dword [esi + 0x130], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x134], eax
fld qword [esi + 0x11c]
fadd qword [esi + 0x100]
fmul qword [0x5e7c18]
fstp qword [esi + 0x138]
fld qword [esi + 0x124]
fadd qword [esi + 0x108]
lea ecx, [esp + 0x8cc]
push ecx
mov ecx, esi
fmul qword [0x5e7c18]
fstp qword [esi + 0x140]
fld qword [esi + 0x12c]
fadd qword [esi + 0x110]
fmul qword [0x5e7c18]
fstp qword [esi + 0x148]
call fcn.00453f50
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
fld qword [eax]
fld qword [esp + 0x1c]
mov dword [esp + 0xb0], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0xb4], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xc4], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xc8], ecx
fcomp st(1)
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
fnstsw ax
test ah, 1
je 0x45f459
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
fstp st(0)
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
jmp 0x45f45d
fstp qword [esp + 0x58]
fld qword [esp + 0x24]
fcomp qword [esp + 0xb0]
fnstsw ax
test ah, 1
je 0x45f475
fld qword [esp + 0x24]
jmp 0x45f47c
fld qword [esp + 0xb0]
fstp qword [esp + 0x60]
fld qword [esp + 0x38]
fcomp qword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x45f498
fld qword [esp + 0x38]
jmp 0x45f49f
fld qword [esp + 0xc4]
fstp qword [esp + 0x74]
fld qword [esp + 0x40]
fcomp qword [esp + 0xcc]
fnstsw ax
test ah, 0x41
jne 0x45f4bb
fld qword [esp + 0x40]
jmp 0x45f4c2
fld qword [esp + 0xcc]
fstp qword [esp + 0x7c]
mov ecx, esi
call fcn.004548e0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 1
call fcn.0045ce20
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x4161]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x45f506
mov edx, dword [esi + 0x4161]
push 0
push 0
push 0x474
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor ebx, ebx
push 0xa2
mov dword [esp + 0x18], ebx
call edi
and eax, 0x8000
cmp eax, 0x8000
jne 0x45f543
mov dword [esp + 0x14], 1
push 0xa3
call edi
and eax, 0x8000
cmp eax, 0x8000
jne 0x45f55e
mov dword [esp + 0x14], 1
push 0xa0
mov dword [esp + 0x14], ebx
call edi
test ax, ax
jge 0x45f576
mov dword [esp + 0x10], 1
push 0xa1
call edi
push 0x12
xor ebx, ebx
call edi
test ax, ax
jge 0x45f58d
mov ebx, 1
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x45d96d.42
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x45d96d.42
test ebx, ebx
je case.0x45d96d.42
lea ecx, [esp + 0x144]
call fcn.00523590
push 0
push 1
push 0x64
push 0x64
push 0
push 0
lea ecx, [esp + 0x14c]
mov dword [esp + 0x123c], 0
call fcn.00524930
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
push ecx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x87f498
call fcn.005b47d5
lea ecx, [esp + 0x160]
call fcn.00523a20
test eax, eax
je 0x45f629
lea ecx, [esp + 0x144]
call fcn.005b02e3
jmp 0x45f7a3
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x264]
mov dl, 0x43
rep stosd dword es:[edi], eax
mov cl, 0x79
mov al, 0x20
mov byte [esp + 0x267], cl
mov byte [esp + 0x273], cl
mov cl, 0x65
mov byte [esp + 0x26d], al
mov byte [esp + 0x271], al
mov byte [esp + 0x274], al
mov byte [esp + 0x27a], al
mov byte [esp + 0x27d], cl
mov byte [esp + 0x282], al
mov byte [esp + 0x286], cl
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0xa1c]
mov byte [esp + 0x264], dl
mov byte [esp + 0x26f], dl
mov dl, 0x73
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xa1c]
mov byte [esp + 0x279], dl
mov byte [esp + 0x285], dl
push 0x400
push ecx
lea edx, [esp + 0x26c]
push 0x400
push edx
mov bl, 0x6e
push eax
push eax
mov byte [esp + 0x2ae], 0x14
mov byte [esp + 0x27d], 0x6f
mov byte [esp + 0x27e], 0x70
mov byte [esp + 0x280], 0x72
mov byte [esp + 0x281], 0x69
mov byte [esp + 0x282], 0x67
mov byte [esp + 0x283], 0x68
mov byte [esp + 0x284], 0x74
mov byte [esp + 0x286], 0x28
mov byte [esp + 0x288], 0x29
mov byte [esp + 0x28a], 0x62
mov byte [esp + 0x28d], 0x48
mov byte [esp + 0x28e], 0x61
mov byte [esp + 0x28f], bl
mov byte [esp + 0x290], 0x27
mov byte [esp + 0x293], 0x59
mov byte [esp + 0x294], 0x75
mov byte [esp + 0x296], 0x4d
mov byte [esp + 0x297], 0x69
mov byte [esp + 0x298], bl
mov byte [esp + 0x299], 0x67
mov byte [esp + 0x29b], 0x4c
mov byte [esp + 0x29c], 0x61
mov byte [esp + 0x29f], 0x72
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
lea eax, [esp + 0xa20]
push 0
push eax
mov ecx, esi
call fcn.005b23fa
lea ecx, [esp + 0x25c]
mov dword [esp + 0x1224], 5
call fcn.005234d0
lea ecx, [esp + 0x254]
mov dword [esp + method.CGdiObject.virtual_0], vtable.CGdiObject.0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x254]
mov byte [esp + 0x1224], 6
call fcn.005b7fc3
lea ecx, [esp + 0x218]
mov byte [esp + 0x1224], 3
call fcn.005c6347
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x1224], 2
call fcn.005c62ed
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x1224], 1
call fcn.005c62ed
lea ecx, [esp + 0x144]
mov dword [esp + 0x1224], 0xffffffff
call fcn.005afeed
mov eax, 1
mov ecx, dword [esp + 0x121c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x121c]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4