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

Disassembly:
push 0xffffffffffffffff
push 0x47461b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
mov eax, dword [0x48aff4]
push ebx
push ebp
mov ebp, dword [esp + 0x19c]
push esi
xor ebx, ebx
cmp ebp, ebx
mov dword [esp + 0x18c], eax
push edi
mov esi, ecx
jle 0x43b0e7
cmp ebp, 2
jg 0x43b0e5
mov ecx, dword [esi + 0x98]
call fcn.00448e10
cmp ebp, 2
jg 0x43b0e5
mov ecx, dword [esi + 0x98]
call fcn.004475d0
mov ecx, dword [esi + 0x98]
call fcn.00448210
cmp ebp, ebx
jl 0x43b184
cmp ebp, 2
jg 0x43b184
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x30]
push eax
push 0x477240
lea ecx, [esp + 0x30]
push 0x3c
push ecx
call fcn.00455b7d
lea edx, [esp + 0x38]
push 0x3c
push edx
call fcn.0044a870
add esp, 0x18
lea eax, [esp + 0x28]
push eax
push 0x419
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx + 0x180]
mov ecx, dword [ecx + 0x184]
push ecx
push eax
push str._I64d
lea edx, [esp + 0x34]
push 0x3c
push edx
call fcn.00455b7d
lea eax, [esp + 0x3c]
push 0x3c
push eax
call fcn.0044a870
add esp, 0x1c
lea ecx, [esp + 0x28]
push ecx
push 0x3fd
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, 7
ja case.default.0x43b190
movzx edx, byte [ebp + 0x43bb74]
jmp dword [edx*4 + 0x43bb6c]
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x64]
push eax
mov ecx, esi
call fcn.0043a010
movzx ecx, byte [ebp + 0x43bb84]
jmp dword [ecx*4 + 0x43bb7c]
cmp ebp, ebx
je 0x43b201
cmp ebp, 7
jne 0x43b235
push 0x432
mov ecx, esi
call fcn.0046a87f
mov ecx, dword [esi + 0x98]
mov ecx, dword [ecx + 0x58]
mov edx, 4
cmp edx, ecx
mov edx, dword [eax + 0x1c]
push ebx
sbb ecx, ecx
neg ecx
push ecx
push 0xf1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp ebp, 7
ja case.0x43b23e.3
movzx eax, byte [ebp + 0x43bb94]
jmp dword [eax*4 + 0x43bb8c]
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
push ecx
push eax
push str._I64d
lea edx, [esp + 0x34]
push 0x1e
push edx
call fcn.00455b7d
lea eax, [esp + 0x3c]
push 0x1e
push eax
call fcn.0044a870
add esp, 0x1c
lea ecx, [esp + 0x28]
push ecx
push 0x420
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, 0xb
ja case.default.0x43b297
movzx edx, byte [ebp + 0x43bba4]
jmp dword [edx*4 + 0x43bb9c]
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 8]
push eax
mov ecx, esi
call fcn.00439e10
movzx ecx, byte [ebp + 0x43bbb8]
jmp dword [ecx*4 + 0x43bbb0]
cmp ebp, ebx
je 0x43b30d
cmp ebp, 9
jle 0x43b35c
cmp ebp, 0xb
jg 0x43b35c
mov eax, dword [esi + 0x98]
mov ecx, dword [eax + 0x190]
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
mov eax, 0x51eb851f
push edx
mul ecx
shr edx, 5
push edx
push str._d._02d__
lea ecx, [esp + 0x20]
push 0xa
push ecx
call fcn.00455b7d
add esp, 0x14
lea edx, [esp + 0x14]
push edx
push 0x3fc
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, 0xc
ja case.0x43b368.3
movzx eax, byte [ebp + 0x43bbcc]
jmp dword [eax*4 + 0x43bbc4]
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx + 0x10]
push eax
push 0x477240
lea edx, [esp + 0x94]
push 0x104
push edx
call fcn.00455b7d
lea eax, [esp + 0x9c]
push 0x104
push eax
call fcn.0044a870
add esp, 0x18
lea ecx, [esp + 0x8c]
push ecx
push 0x41f
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, ebx
jl 0x43b436
cmp ebp, 2
jg 0x43b436
mov eax, dword [esi + 0x288]
mov dword [esi + 0x280], 1
cmp dword [eax - 0xc], ebx
jg 0x43b3f4
mov eax, dword [esi + 0x98]
mov edx, dword [eax + 0x6c]
cmp dword [edx - 0xc], ebx
lea ecx, [eax + 0x6c]
jg 0x43b3f2
lea ecx, [eax + 0x70]
mov eax, dword [ecx]
push eax
mov ecx, esi
push 0x3f0
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
mov eax, dword [esi + 0x284]
cmp dword [eax - 0xc], ebx
mov ecx, esi
jg 0x43b41e
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x74]
push eax
push 0x3f8
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
mov dword [esi + 0x280], ebx
cmp ebp, 0x10
ja case.0x43b442.3
movzx ecx, byte [ebp + 0x43bbe4]
jmp dword [ecx*4 + 0x43bbdc]
mov ecx, dword [esi + 0x98]
call fcn.00447230
push edx
push eax
push str._I64d
lea edx, [esp + 0x20]
push 0x14
push edx
call fcn.00455b7d
lea eax, [esp + 0x28]
push 0x14
push eax
call fcn.0044a870
add esp, 0x1c
lea ecx, [esp + 0x14]
push ecx
push 0x3fe
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, 0xb
ja case.0x43b49a.3
movzx edx, byte [ebp + 0x43bc00]
jmp dword [edx*4 + 0x43bbf8]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x98]
call fcn.00447cf0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push str._d____d
lea ecx, [esp + 0x34]
push 0x14
push ecx
call fcn.00455b7d
add esp, 0x14
lea edx, [esp + 0x28]
push edx
push 0x400
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, 0x10
ja case.0x43b4fc.3
movzx eax, byte [ebp + 0x43bc14]
jmp dword [eax*4 + 0x43bc0c]
mov edi, dword [esi + 0x98]
mov edx, dword [edi + 0x54]
mov ecx, dword [edi + 0x50]
mov eax, dword [edi + 8]
push edx
push ecx
push 0
push eax
call fcn.00455aa0
mov ecx, edi
mov ebp, eax
mov ebx, edx
call fcn.00447230
mov edi, edx
test edi, edi
mov dword [esp + 0x14], eax
ja 0x43b535
test eax, eax
jbe 0x43b55f
test ebx, ebx
ja 0x43b53d
test ebp, ebp
jbe 0x43b55f
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx + 0x68]
push ebx
push ebp
push 0
push eax
call fcn.00455aa0
mov ecx, dword [esp + 0x14]
push edi
push ecx
push edx
push eax
call fcn.00455ae0
jmp 0x43b568
mov edx, dword [esi + 0x98]
mov eax, dword [edx + 0x68]
xor edx, edx
mov ecx, 0xa
div ecx
push edx
push eax
push str._d._01d__
lea edx, [esp + 0x98]
push 0x104
push edx
call fcn.00455b7d
add esp, 0x14
lea eax, [esp + 0x8c]
push eax
push 0x402
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
mov ebp, dword [esp + 0x1a4]
xor ebx, ebx
cmp ebp, 0xb
ja case.0x43b5c1.3
movzx ecx, byte [ebp + 0x43bc30]
jmp dword [ecx*4 + 0x43bc28]
call fcn.0046b0c6
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x98]
mov edx, dword [eax + 0x64]
mov ecx, dword [eax + 8]
imul ecx, edx
test ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x19c], ebx
fild dword [esp + 0x14]
jge 0x43b603
fadd qword [0x4772a8]
mov ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4cf8c0]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x18], eax
fild qword [esp + 0x14]
mov eax, dword [0x4cf8bc]
and ecx, 0x80000000
mov dword [esp + 0x18], ecx
mov ecx, dword [0x4cf8b8]
mov dword [esp + 0x14], ebx
fild qword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov ecx, eax
fchs
and eax, 0x7fffffff
faddp st(1)
mov dword [esp + 0x18], eax
mov eax, dword [0x4cf8c4]
and ecx, 0x80000000
fmul st(1)
fild qword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
fild qword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x14], edx
fchs
and eax, 0x7fffffff
faddp st(1)
mov dword [esp + 0x18], eax
fild qword [esp + 0x14]
and ecx, 0x80000000
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
fild qword [esp + 0x14]
fchs
faddp st(1)
fxch st(2)
fdiv st(2)
fxch st(3)
fdiv st(1)
faddp st(3)
fxch st(2)
call fcn.00455f94
fstp st(0)
xor edx, edx
fstp st(0)
mov ecx, 0x3c
div ecx
mov edi, 0x3c
mov ecx, edx
xor edx, edx
div edi
cmp eax, ebx
jbe 0x43b6df
push edx
push eax
lea edx, [esp + 0x18]
push 0x219
push edx
call fcn.0040e3f0
add esp, 0x10
jmp 0x43b70b
cmp edx, ebx
push ecx
jbe 0x43b6f9
push edx
lea eax, [esp + 0x18]
push 0x21a
push eax
call fcn.0040e3f0
add esp, 0x10
jmp 0x43b70b
lea ecx, [esp + 0x14]
push 0x21b
push ecx
call fcn.0040e3f0
add esp, 0xc
mov edi, dword [esp + 0x10]
push edi
push 0x403
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
lea eax, [edi - 0x10]
mov dword [esp + 0x19c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg case.0x43b5c1.3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
cmp ebp, ebx
jl 0x43b796
cmp ebp, 3
jg 0x43b796
mov eax, dword [esi + 0xb8]
push ebx
push ebx
push 0x1032
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jbe 0x43b780
mov ecx, dword [esi + 0x98]
mov al, byte [ecx + 0x1b9]
test al, al
je 0x43b780
mov eax, 1
jmp 0x43b782
xor eax, eax
push eax
push 0x3ee
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
cmp ebp, 0x10
ja case.0x43b7a2.3
movzx edx, byte [ebp + 0x43bc44]
jmp dword [edx*4 + 0x43bc3c]
mov eax, dword [esi + 0x98]
mov ecx, dword [eax + 0x14]
push ecx
push 0x477240
lea edx, [esp + 0x1c]
push 0xa
push edx
call fcn.00455b7d
lea eax, [esp + 0x24]
push 0xa
push eax
call fcn.0044a870
add esp, 0x18
lea ecx, [esp + 0x14]
push ecx
push 0x41e
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
cmp ebp, ebx
jne 0x43b822
mov edx, dword [esi + 0x98]
mov bl, byte [edx + 0x1b8]
push 0x462
mov ecx, esi
call fcn.0046a87f
mov edx, dword [eax + 0x1c]
xor ecx, ecx
test bl, bl
setne cl
push 0
push ecx
push 0xf1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x43b827
cmp ebp, 9
jne 0x43b873
mov eax, dword [esi + 0x98]
mov ecx, dword [eax + 0x1b4]
mov edx, dword [eax + 0x1b0]
push ecx
push edx
push str._I64d
lea eax, [esp + 0x70]
push 0x28
push eax
call fcn.00455b7d
lea ecx, [esp + 0x78]
push 0x28
push ecx
call fcn.0044a870
add esp, 0x1c
lea edx, [esp + 0x64]
push edx
push 0x463
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a982
test ebp, ebp
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
jl 0x43bae1
cmp ebp, 2
jg 0x43ba28
mov eax, dword [esi + 0xb8]
push 0
push 0
push 0x1004
push eax
call ebx
xor ecx, ecx
test eax, eax
setg cl
mov edi, ecx
push edi
push 0x3f6
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x40a
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x3f4
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x409
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x41f
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x424
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x43d
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
mov edx, dword [esi + 0x98]
mov al, byte [edx + 0x1b9]
test al, al
mov ecx, esi
je 0x43b947
push 1
jmp 0x43b94a
xor edi, edi
push edi
push 0x3ec
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x3f2
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x3ff
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x401
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x41a
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x3f0
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x3f8
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x432
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x420
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x421
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x462
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
cmp ebp, 2
jle 0x43ba2d
cmp ebp, 0x10
jne 0x43ba80
mov eax, dword [esi + 0xb8]
push 0
push 0
push 0x1004
push eax
call ebx
test eax, eax
jle 0x43ba56
mov ecx, dword [esi + 0x98]
cmp dword [ecx + 0x18], 2
je 0x43ba56
mov edi, 1
jmp 0x43ba58
xor edi, edi
push edi
push 0x41e
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x41c
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
cmp ebp, 2
jle 0x43ba8a
cmp ebp, 8
jne 0x43bae1
mov edx, dword [esi + 0xb8]
push 0
push 0
push 0x1004
push edx
call ebx
test eax, eax
jle 0x43bab7
mov eax, dword [esi + 0x98]
mov cl, byte [eax + 0x1b8]
test cl, cl
je 0x43bab7
mov edi, 1
jmp 0x43bab9
xor edi, edi
push edi
push 0x463
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
push edi
push 0x464
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
mov ecx, dword [esi + 0xb8]
push 0
push 0
push 0x1004
push ecx
call ebx
test eax, eax
jle 0x43bb2c
push 0x3f0
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046ab43
test eax, eax
jle 0x43bb2c
push 0x3f8
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046ab43
test eax, eax
jle 0x43bb2c
mov eax, 1
jmp 0x43bb2e
xor eax, eax
push eax
push 0x3fa
mov ecx, esi
call fcn.0046a87f
mov ecx, eax
call fcn.0046a9df
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x184]
pop ebx
call fcn.00455418
add esp, 0x190
ret 4