Function at 0x406910
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5c79ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
xor ecx, ecx
push edi
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x14], 0
test eax, eax
mov dword [esp + 0x10], ecx
je 0x406955
push 0x38e
mov ecx, esi
call fcn.00596977
mov dword [esp + 0x10], eax
mov ecx, eax
cmp dword [esp + 0x3c], 1
jne 0x40699a
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x406976
test ecx, ecx
je 0x406def
test eax, eax
je 0x406976
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x406983
mov eax, 0x8c
mov ecx, dword [esp + 0x38]
and eax, 0xffff
push ecx
push eax
mov ecx, esi
call fcn.005975f5
jmp 0x406def
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x4069d0
cmp ebx, 0x8d
je 0x4069d0
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4069b8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x58]
mov eax, dword [esp + 0x38]
and ebx, 0xffff
push eax
push ebx
mov ecx, esi
call fcn.005975f5
jmp 0x406def
test ecx, ecx
jne 0x406a05
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4069e2
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x58]
mov ebp, dword [esp + 0x38]
mov ecx, esi
push ebp
push 0x82
call fcn.005975f5
push 0x38e
mov ecx, esi
call fcn.00596977
mov dword [esp + 0x10], eax
jmp 0x406a09
mov ebp, dword [esp + 0x38]
push 0x387
mov ecx, esi
call fcn.00596977
mov edi, eax
test edi, edi
je 0x406ae0
mov eax, dword [esp + 0x3c]
cmp eax, 7
jne 0x406a63
cmp dword [ebp + 0x1a2c], 2
jle 0x406a63
lea eax, [esp + 0x44]
push 0x12f
push eax
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 0
call fcn.00596b55
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x44]
jmp 0x406adb
cmp ebx, 0x8d
je 0x406aab
cmp eax, 7
jne 0x406a79
cmp dword [ebp + 0x1a2c], 3
jl 0x406aab
lea ecx, [esp + 0x44]
push 0x130
push ecx
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 2
call fcn.00596b55
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x44]
jmp 0x406adb
lea edx, [esp + 0x44]
push 0xcb
push edx
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 1
call fcn.00596b55
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.00598032
mov ebx, dword [esp + 0x40]
mov edi, 0x384
mov ebp, 5
push edi
mov ecx, esi
call fcn.00596977
test eax, eax
je 0x406b0b
mov ecx, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, ebp
push ecx
mov ecx, eax
call fcn.00596c9a
inc edi
cmp edi, 0x38e
jl 0x406aee
cmp ebx, 1
je 0x406bcd
push 0x38b
mov ecx, esi
call fcn.00596977
mov edi, eax
test edi, edi
je 0x406bcd
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x406b52
cmp eax, 7
jne 0x406b4e
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x1a2c]
test eax, eax
jne 0x406b52
xor eax, eax
jmp 0x406b57
mov eax, 1
push eax
mov ecx, edi
call fcn.00596c9a
cmp dword [esp + 0x3c], 7
jne 0x406b98
lea eax, [esp + 0x44]
push 0x132
push eax
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 3
call fcn.00596b55
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x44]
jmp 0x406bc8
lea ecx, [esp + 0x44]
push 0x131
push ecx
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 4
call fcn.00596b55
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.00598032
push 0x390
mov ecx, esi
call fcn.00596977
test eax, eax
je 0x406bee
mov edx, ebx
mov ecx, eax
dec edx
neg edx
sbb edx, edx
and edx, ebp
push edx
call fcn.00596c9a
push 0x391
mov ecx, esi
call fcn.00596977
test eax, eax
je 0x406c0f
mov ecx, ebx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, ebp
push ecx
mov ecx, eax
call fcn.00596c9a
mov eax, dword [esi + 0x1c]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp ebx, 2
jne 0x406d90
push 0x3b7
mov ecx, esi
call fcn.00596977
mov edi, eax
test edi, edi
je 0x406d39
mov eax, dword [esi + 0x7c]
lea ebx, [esi + 0x7c]
push 0x63df70
push eax
call fcn.004f59f0
add esp, 8
test eax, eax
jne 0x406c5d
push ebx
mov ecx, edi
call fcn.005943d1
mov eax, dword [esp + 0x3c]
cmp eax, 7
jne 0x406cf3
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x1a2c]
test eax, eax
je 0x406c99
lea edx, [esp + 0x44]
push 0x133
push edx
call fcn.004b9db0
mov ebx, 1
add esp, 8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebp
jmp 0x406cb8
push 0x63df70
lea ecx, [esp + 0x40]
call fcn.005980a0
mov ebx, 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], 6
mov eax, dword [eax]
mov ecx, edi
push eax
call fcn.00596b55
test bl, 2
mov dword [esp + 0x30], ebp
je 0x406cdb
and ebx, 0xfffffffd
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], ebx
call fcn.00598032
test bl, 1
mov dword [esp + 0x30], 0xffffffff
je 0x406d39
lea ecx, [esp + 0x44]
call fcn.00598032
jmp 0x406d39
cmp eax, 4
jne 0x406d2f
lea eax, [esp + 0x3c]
push 0x134
push eax
call fcn.004b9db0
add esp, 8
mov eax, dword [eax]
mov ecx, edi
push eax
mov dword [esp + 0x34], 7
call fcn.00596b55
lea ecx, [esp + 0x3c]
mov dword [esp + 0x30], 0xffffffff
call fcn.00598032
jmp 0x406d39
mov ecx, dword [ebx]
push ecx
mov ecx, edi
call fcn.00596b55
mov edx, dword [esi + 0x78]
mov ebx, dword [esi + 0x70]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
sub edx, ebx
sub eax, edi
cmp eax, edx
jge 0x406def
mov edx, dword [esp + 0x10]
test edx, edx
je 0x406d78
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x68]
mov ecx, dword [esi + 0x5c]
sub edi, eax
push 1
push edi
mov edi, dword [esi + 0x64]
sub edi, ecx
push edi
push eax
push ecx
mov ecx, edx
call fcn.00596c0a
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x6c]
sub edx, eax
push 1
push edx
mov edx, dword [esi + 0x74]
sub edx, ecx
push edx
push eax
push ecx
jmp 0x406de8
cmp ebx, 1
jne 0x406def
mov eax, dword [esi + 0x78]
mov ebx, dword [esi + 0x70]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
sub eax, ebx
sub ecx, edi
cmp ecx, eax
jne 0x406def
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x60]
mov edi, dword [esi + 0x64]
mov edx, dword [esi + 0x5c]
sub ebx, ecx
mov ecx, dword [esp + 0x10]
sub edi, edx
test ecx, ecx
je 0x406dd0
push 1
push ebx
push edi
push 0
push 0
call fcn.00596c0a
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x80]
add edi, edx
add ebx, ecx
push 1
push ebx
push edi
push 0
push 0
mov ecx, esi
call fcn.00596c0a
mov ecx, dword [esp + 0x38]
call fcn.00596d03
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret 0x10