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

Disassembly:
push 0xffffffffffffffff
push 0x4b74ac
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x48], ebx
call fcn.004394c0
xor edi, edi
lea ecx, [ebx + 0x2c]
mov dword [esp + 0x6c], edi
mov dword [ebx], 0x4f84d8
call fcn.00444510
push fcn.00410730
push 0x401800
push 2
push 0xc
lea eax, [ebx + 0x3c]
push eax
mov byte [esp + 0x80], 1
call fcn.0049602b
mov eax, dword [esp + 0x74]
lea ebp, [eax + eax*2]
mov byte [esp + 0x6c], 2
mov dword [ebx + 4], edi
lea ebp, [ebp*4 + 0x522e48]
cmp dword [ebp], 0
je 0x43d0d4
push 0x44
call fcn.00494d02
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
mov byte [esp + 0x6c], 3
je 0x43d05a
mov ecx, eax
call fcn.004160f0
jmp 0x43d05c
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x74], 2
call fcn.00436a50
lea ecx, [esp + 0x54]
push ecx
lea ecx, [ebx + 0x2c]
mov byte [esp + 0x70], 4
call fcn.0043db90
lea ecx, [esp + 0x54]
mov byte [esp + 0x6c], 2
call fcn.00410730
mov edx, dword [ebx + 0x30]
push edi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edx
call fcn.00443b80
mov esi, dword [eax]
mov ecx, 0x529985
call fcn.00409200
mov ecx, dword [ebp]
push ecx
mov ecx, dword [0x5297c4]
push esi
call fcn.004167b0
test eax, eax
je 0x43d6e7
inc edi
add ebp, 4
cmp edi, 3
jl 0x43d030
xor ebp, ebp
mov ecx, 0x529984
mov dword [ebx + 0x5c], ebp
call fcn.004024f0
mov edx, dword [esp + 0x74]
mov ecx, dword [0x529784]
push edx
push ebp
add ecx, 0x10
push ebp
call fcn.00410900
mov ecx, eax
call fcn.0043d960
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x30]
xor edi, edi
cmp eax, edi
je 0x43d1b7
mov ecx, dword [ebx + 0x34]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x43d1b7
mov eax, dword [ebx + 0x30]
push ebp
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
call fcn.00443b80
mov eax, dword [eax]
mov edx, dword [eax]
cmp edx, edi
je 0x43d189
mov ecx, dword [eax + 8]
cmp ecx, edi
je 0x43d155
mov edi, dword [ecx + 0x10]
mov esi, dword [eax + 4]
cmp esi, edi
jae 0x43d1a0
test ecx, ecx
je 0x43d165
mov eax, dword [ecx + 0xc]
jmp 0x43d167
xor eax, eax
imul eax, esi
add eax, edx
mov edx, dword [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0043e0c0
test eax, eax
je 0x43d6e7
inc ebp
jmp 0x43d103
push 0x4ffd3c
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0x4f19ec
call fcn.00494fe2
mov dword [ebx + 0x54], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], 0x522d30
mov ecx, 0x529984
call fcn.004024f0
mov ecx, dword [0x529784]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x7c]
push edx
push eax
add ecx, 0x10
push 0
call fcn.00410900
mov ecx, eax
call fcn.0043dac0
test eax, eax
je 0x43d433
mov ecx, ebx
call fcn.00439920
mov ecx, 0x529984
mov edi, eax
call fcn.004024f0
mov ecx, dword [0x529784]
add ecx, 0x10
push 0
call fcn.00410900
mov ecx, dword [ebx + 0x54]
mov edx, dword [esp + 0x74]
push 1
push ecx
push edx
mov ecx, eax
call fcn.0043d870
mov esi, eax
test esi, esi
je 0x43d279
mov ecx, 0x529985
call fcn.00409200
mov ecx, dword [0x5297c4]
push 0
push esi
push edi
call fcn.0041c340
test eax, eax
je 0x43d6e7
mov edx, dword [esp + 0x10]
mov eax, dword [edx*8 + 0x522c98]
mov ecx, dword [edx*8 + 0x522c9c]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
jmp 0x43d27d
mov edx, dword [esp + 0x10]
mov eax, 0x2aaaaaab
imul edx
mov eax, dword [esp + 0x1c]
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp eax, 0xa
mov eax, dword [ebx + 0x30]
push esi
mov dword [esp + 0x28], eax
jge 0x43d2ee
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00443b80
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x43d486
mov edx, dword [eax + 8]
test edx, edx
jne 0x43d2c1
xor ebp, ebp
jmp 0x43d2c4
mov ebp, dword [edx + 0x10]
mov edi, dword [eax + 4]
cmp edi, ebp
jae 0x43d49d
test edx, edx
je 0x43d2d8
mov eax, dword [edx + 0xc]
jmp 0x43d2da
xor eax, eax
mov ebp, dword [esp + 0x10]
imul eax, edi
add eax, ecx
shl ebp, 3
lea ecx, [ebp + 0x522c08]
jmp 0x43d33f
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00443b80
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x43d4b4
mov edi, dword [eax + 8]
test edi, edi
jne 0x43d313
xor ebp, ebp
jmp 0x43d316
mov ebp, dword [edi + 0x10]
mov edx, dword [eax + 4]
cmp edx, ebp
jae 0x43d4cb
test edi, edi
je 0x43d32a
mov eax, dword [edi + 0xc]
jmp 0x43d32c
xor eax, eax
mov ebp, dword [esp + 0x10]
imul eax, edx
add eax, ecx
mov ecx, dword [esp + 0x18]
shl ebp, 3
add ecx, 0xfffffff8
mov edx, dword [ebp + 0x522b78]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x20]
push edx
call fcn.0043e320
test eax, eax
je 0x43d6e7
cmp dword [esp + 0x20], 0xa
lea ecx, [ebx + 0x2c]
push esi
jge 0x43d3b4
call fcn.0043a7e0
mov edi, dword [eax]
test edi, edi
je 0x43d4e2
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x43d383
xor esi, esi
jmp 0x43d386
mov esi, dword [ecx + 0x10]
mov edx, dword [eax + 4]
cmp edx, esi
jae 0x43d4f9
test ecx, ecx
je 0x43d3a5
mov eax, dword [ecx + 0xc]
imul eax, edx
add eax, edi
lea edx, [ebp + 0x522c0c]
jmp 0x43d3f0
xor eax, eax
imul eax, edx
add eax, edi
lea edx, [ebp + 0x522c0c]
jmp 0x43d3f0
call fcn.0043a7e0
mov esi, dword [eax]
test esi, esi
je 0x43d510
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x43d3ce
xor edi, edi
jmp 0x43d3d1
mov edi, dword [ecx + 0x10]
mov edx, dword [eax + 4]
cmp edx, edi
jae 0x43d527
test ecx, ecx
je 0x43d3e5
mov eax, dword [ecx + 0xc]
jmp 0x43d3e7
xor eax, eax
imul eax, edx
mov edx, dword [esp + 0x18]
add eax, esi
mov ecx, dword [ebp + 0x522b7c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x20]
push eax
call fcn.0043e320
test eax, eax
je 0x43d6e7
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [ebx + 0x54]
inc eax
add esi, 0x10
inc edx
cmp eax, 0x12
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], esi
mov dword [ebx + 0x54], edx
jb 0x43d1c6
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x43d458
mov ecx, dword [ebx + 0x34]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
je 0x43d591
mov edi, 0x522b00
lea ebp, [ebx + 0x44]
lea esi, [ebp - 8]
mov ecx, esi
call fcn.00437720
mov esi, dword [esi]
test esi, esi
je 0x43d5dd
mov eax, dword [ebp]
test eax, eax
jne 0x43d53e
xor edx, edx
jmp 0x43d541
push 0x4ffd3c
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], 0x4f19ec
call fcn.00494fe2
push 0x4ffd3c
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], 0x4f19ec
call fcn.00494fe2
push 0x4ffd3c
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x44], 0x4f19ec
call fcn.00494fe2
push 0x4ffd3c
lea ecx, [esp + 0x44]
push ecx
mov dword [esp + 0x48], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x4c], 0x4f19ec
call fcn.00494fe2
mov edx, dword [eax + 0x10]
mov ecx, dword [ebp - 4]
cmp ecx, edx
jae 0x43d5f4
test eax, eax
je 0x43d555
mov eax, dword [eax + 0xc]
jmp 0x43d557
xor eax, eax
imul eax, ecx
add eax, esi
mov ecx, 0x529985
mov esi, eax
call fcn.00409200
mov ecx, dword [0x5297c4]
push 1
push edi
push esi
call fcn.0041c340
test eax, eax
je 0x43d6e7
add edi, 0x28
add ebp, 0xc
cmp edi, 0x522b50
jl 0x43d460
mov ecx, ebx
call fcn.0043cbb0
or eax, 0xffffffff
xor ebp, ebp
mov ecx, 0x529984
mov dword [ebx + 0x28], 0x5229e0
mov dword [ebx + 0x14], ebp
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
call fcn.004024f0
mov eax, dword [0x529784]
mov ecx, dword [eax + 0x28]
cmp ecx, ebp
jne 0x43d60b
push 0x4ffd3c
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0x7c], 0x4f19e8
call fcn.00494fe2
push 0x4ffd3c
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x7c], 0x4f19e8
call fcn.00494fe2
push 0x4ffd2c
lea ecx, [esp + 0x48]
push ecx
mov dword [esp + 0x4c], 0x4f19ec
call fcn.00494fe2
mov esi, dword [eax + 0x30]
cmp esi, ebp
jne 0x43d616
xor edi, edi
jmp 0x43d619
mov edi, dword [esi + 0x10]
mov edx, dword [eax + 0x2c]
cmp edx, edi
jb 0x43d637
push 0x4ffd2c
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], 0x4f19ec
call fcn.00494fe2
cmp esi, ebp
je 0x43d640
mov eax, dword [esi + 0xc]
jmp 0x43d642
xor eax, eax
imul eax, edx
add eax, ecx
mov ecx, 0x529984
mov esi, eax
call fcn.004024f0
mov eax, dword [0x529784]
mov ecx, dword [eax + 0x28]
cmp ecx, ebp
jne 0x43d676
push 0x4ffd3c
lea ecx, [esp + 0x44]
push ecx
mov dword [esp + 0x48], 0x4f19e8
call fcn.00494fe2
mov edi, dword [eax + 0x30]
cmp edi, ebp
je 0x43d680
mov ebp, dword [edi + 0x10]
mov edx, dword [eax + 0x2c]
cmp edx, ebp
jb 0x43d69e
push 0x4ffd2c
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x44], 0x4f19ec
call fcn.00494fe2
test edi, edi
je 0x43d6a7
mov eax, dword [edi + 0xc]
jmp 0x43d6a9
xor eax, eax
mov esi, dword [esi + 0x10]
imul eax, edx
add eax, ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x54]
xor ecx, ecx
xor edx, edx
push eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], esi
call fcn.004093a0
mov ecx, eax
call fcn.004163a0
mov ecx, ebx
call fcn.0043e8e0
mov dword [ebx + 4], 1
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret 4