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

Disassembly:
push 0xffffffffffffffff
push 0x4621d2
mov eax, dword fs:[0]
push eax
mov eax, 0x50b0
call fcn.00453360
mov eax, dword [0x46aee0]
xor eax, esp
mov dword [esp + 0x50ac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46aee0]
xor eax, esp
push eax
lea eax, [esp + 0x50c4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x50d4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50d8]
lea edx, [esp + 0x30c0]
sub edx, eax
mov esi, ecx
xor ebp, ebp
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x43a450
lea ecx, [esp + 0x30c0]
push ecx
call fcn.004316f0
mov edi, eax
lea edx, [esp + 0x30c0]
cmp edi, edx
jbe 0x43a49c
lea esp, [esp]
movzx eax, word [edi - 2]
push eax
call fcn.004458d0
test al, al
je 0x43a49c
add edi, 0xfffffffe
lea ecx, [esp + 0x30c0]
cmp edi, ecx
ja 0x43a480
lea eax, [esp + 0x30c0]
mov edx, edi
sub edx, eax
sar edx, 1
mov ecx, 0x800
sub ecx, edx
push ecx
push 0x464420
push edi
call fcn.00445b10
xor edx, edx
lea ecx, [esp + 0x10b8]
mov word [esp + 0x20c0], dx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
call fcn.00424290
lea eax, [esp + 0x30c0]
push eax
lea ecx, [esp + 0x10bc]
mov dword [esp + 0x50d0], ebp
call fcn.004242d0
lea ecx, [esp + 0x1080]
call fcn.00446e10
lea ecx, [esp + 0x1088]
call fcn.00446e10
lea ecx, [esp + 0x1090]
call fcn.00446e10
push ebp
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x10c0]
mov dword [esp + 0x20], ebp
call fcn.004244c0
test al, al
je 0x43a769
call fcn.00446120
push 0xbf48
call fcn.00454220
add esp, 4
mov dword [esp + 0x2c], eax
mov byte [esp + 0x50cc], 1
test eax, eax
je 0x43a56d
mov edx, dword [esp + 0x20]
push edx
mov ecx, eax
call fcn.00409b30
mov ebx, eax
mov dword [esp + 0x14], eax
jmp 0x43a573
xor ebx, ebx
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x70]
push eax
mov ecx, ebx
mov byte [esp + 0x50d0], 0
call fcn.004216f0
test al, al
je 0x43a70a
push 0x464440
lea ecx, [esp + 0x74]
push ecx
call fcn.004313d0
test al, al
je 0x43a5de
mov ebp, dword [esp + 0x18]
test ebp, ebp
sete dl
movzx eax, dl
push eax
push ebx
mov ecx, esi
call fcn.00439b40
mov edi, eax
test edi, edi
je 0x43a70a
test ebp, ebp
jne 0x43a5d4
mov ecx, ebx
call fcn.00421ee0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
inc ebp
mov dword [esp + 0x18], ebp
jmp 0x43a705
push 1
mov ecx, ebx
call fcn.004086d0
test al, al
je 0x43a70a
cmp dword [ebx + 0xaf08], 0
ja 0x43a60f
push 0x463494
lea ecx, [esp + 0x74]
push ecx
call fcn.004313d0
test al, al
je 0x43a70a
cmp byte [ebx + 0xaefd], 0
jne 0x43a625
cmp byte [ebx + 0xaf0c], 0
je 0x43a8a6
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
push 0
push 0
mov byte [ecx + 0x63a0], 0
call eax
lea ecx, [esp + 0x70]
push ecx
call fcn.004316f0
mov ebp, eax
xor ebx, ebx
lea edx, [esp + 0x70]
lea edi, [ebx + 1]
cmp ebp, edx
jb 0x43a74c
lea ebx, [ebx]
movzx eax, word [ebp]
push eax
call fcn.004458d0
test al, al
je 0x43a68a
movzx ecx, word [ebp]
sub ecx, 0x30
imul ecx, edi
lea edi, [edi + edi*4]
sub ebp, 2
lea edx, [esp + 0x70]
add ebx, ecx
add edi, edi
cmp ebp, edx
jae 0x43a660
test ebx, ebx
je 0x43a74c
cmp ebx, 0xffff
ja 0x43a74c
mov edi, dword [esi + 4]
cmp ebx, edi
jbe 0x43a6e3
cmp ebx, dword [esi + 8]
jbe 0x43a6b8
mov eax, ebx
sub eax, edi
push eax
mov ecx, esi
call fcn.00437d10
jmp 0x43a6bb
mov dword [esi + 4], ebx
cmp edi, ebx
jae 0x43a6e3
mov eax, edi
mov ecx, ebx
imul eax, eax, 0x1018
sub ecx, edi
jmp 0x43a6d0
mov edx, dword [esi]
mov dword [eax + edx], 0
add eax, 0x1018
sub ecx, 1
jne 0x43a6d0
cmp word [esp + 0x20c0], 0
lea edi, [ebx - 1]
jne 0x43a705
push 1
lea eax, [esp + 0x20c4]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00432820
cmp edi, 0xffffffff
jne 0x43a71f
cmp dword [esp + 0x14], 0
je 0x43a74c
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
jmp 0x43a74c
cmp edi, dword [esi + 4]
jae 0x43a74c
mov ecx, dword [esp + 0x14]
imul edi, edi, 0x1018
add edi, dword [esi]
push 0x800
lea edx, [esp + 0x74]
mov dword [edi], ecx
mov byte [edi + 0x1010], 0
push edx
add edi, 4
push edi
call fcn.00445b10
push 0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x10c0]
call fcn.004244c0
test al, al
jne 0x43a537
xor ebp, ebp
cmp byte [esp + 0x50dc], 0
mov edi, dword [esp + 0x18]
je 0x43a77f
cmp edi, ebp
je 0x43a8c9
push edi
push 0xe68
call fcn.00440400
push eax
call fcn.004177c0
add esp, 8
cmp edi, ebp
je 0x43a8c9
push 0xe94
call fcn.00440400
push eax
call fcn.004177c0
add esp, 4
xor ebx, ebx
mov dword [esi + 0x34], ebp
cmp dword [esi + 0x2c], ebp
jbe 0x43a873
mov dword [esp + 0x14], ebp
mov edi, dword [esi]
add edi, dword [esp + 0x14]
cmp dword [edi], ebp
je 0x43a848
lea ebp, [edi + 4]
push ebp
push 0x464390
call fcn.004177c0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x83b0]
mov eax, dword [edi]
add esp, 8
push 4
push 0x7fffffff
push 0x7fffffff
push ecx
push 0
lea edx, [esp + 0x3c]
push edx
push eax
call fcn.00423700
mov ecx, dword [esp + 0x28]
cmp ecx, dword [edi + 0x1004]
sete al
mov byte [edi + 0x1011], al
test al, al
jne 0x43a846
push ebp
push 0xd56
call fcn.00440400
push eax
call fcn.004177c0
add esp, 8
cmp ebx, dword [esi + 0x24]
jb 0x43a846
mov ecx, dword [edi]
call fcn.00421850
dec dword [esp + 0x18]
mov dword [edi], 0
xor ebp, ebp
cmp ebx, dword [esi + 0x24]
jae 0x43a85d
cmp dword [edi], ebp
je 0x43a85a
cmp byte [edi + 0x1011], 0
jne 0x43a85d
inc dword [esi + 0x34]
add dword [esp + 0x14], 0x1018
inc ebx
cmp ebx, dword [esi + 0x2c]
jb 0x43a7c0
mov edi, dword [esp + 0x18]
mov edx, dword [esi + 0x34]
push edx
push 0xe66
call fcn.00440400
push eax
call fcn.004177c0
mov eax, dword [esi + 0x34]
add esp, 8
cmp eax, ebp
jne 0x43a8e7
push 0xe6a
call fcn.00440400
push eax
call fcn.004177c0
add esp, 4
jmp 0x43a8c9
lea ecx, [esp + 0x30c0]
push ecx
push 0xe62
call fcn.00440400
push eax
lea edx, [esp + 0x30c8]
push edx
call fcn.00418100
add esp, 0xc
lea ecx, [esp + 0x10b8]
mov dword [esp + 0x50cc], 0xffffffff
call fcn.004242b0
xor al, al
jmp 0x43ae51
cmp eax, edi
jbe 0x43a900
push 0xe6c
call fcn.00440400
push eax
call fcn.004177c0
add esp, 4
jmp 0x43a8c9
push 0xe6e
call fcn.00440400
push eax
call fcn.004177c0
add esp, 4
mov dword [esp + 0x24], ebp
cmp dword [esi + 0x24], ebp
jbe 0x43ab04
mov dword [esp + 0x14], ebp
mov edi, dword [esi]
add edi, dword [esp + 0x14]
mov ecx, dword [edi]
cmp ecx, ebp
je 0x43a9ec
cmp byte [edi + 0x1011], 0
jne 0x43a9ec
call fcn.00421850
lea ebp, [edi + 4]
lea edx, [esp + 0x40c0]
mov eax, ebp
sub edx, ebp
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a954
lea eax, [esp + 0x40c0]
add eax, 0xfffffffe
lea ecx, [ecx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43a970
mov ecx, dword [str..bad]
mov edx, dword [0x46440c]
mov dword [eax], ecx
mov cx, word [0x464410]
push ebp
mov dword [eax + 4], edx
push 0xcda
mov word [eax + 8], cx
call fcn.00440400
push eax
call fcn.004177c0
add esp, 8
lea edx, [esp + 0x40c0]
push edx
push ebp
push 0xe72
call fcn.00440400
push eax
call fcn.004177c0
add esp, 0xc
lea eax, [esp + 0x40c0]
push eax
push ebp
call fcn.004226b0
mov ecx, dword [edi]
test ecx, ecx
je 0x43a9e4
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [edi], 0
xor ebp, ebp
cmp dword [edi], ebp
sete al
mov byte [edi + 0x1010], al
test al, al
je 0x43aad7
push 0x800
lea ecx, [esp + 0x20c4]
push ecx
lea ebp, [edi + 4]
push ebp
call fcn.00445b10
push ebp
push 0xe70
call fcn.00440400
push eax
call fcn.004177c0
push 0x1024
call fcn.00454220
add esp, 0xc
mov dword [esp + 0x2c], eax
mov byte [esp + 0x50cc], 2
test eax, eax
je 0x43aa4e
mov ecx, eax
call fcn.00421560
mov ebx, eax
jmp 0x43aa50
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x6130]
push 0
push 0
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x2f]
push edx
push ecx
push 0x800
push ebp
push ebx
push eax
mov byte [esp + 0x50f4], 0
call fcn.00421320
test al, al
jne 0x43aab7
cmp byte [esp + 0x1f], al
jne 0x43aa9a
push ebp
push 0
mov ecx, 0x47e198
call fcn.0041d000
movzx edx, byte [esp + 0x1f]
neg edx
sbb edx, edx
and edx, 0xf6
add edx, 9
push edx
mov ecx, 0x47e198
call fcn.0041cc60
mov eax, dword [edi + 0x100c]
mov ecx, dword [edi + 0x1008]
push eax
push ecx
mov ecx, ebx
call fcn.00422140
mov dword [edi], ebx
mov byte [edi + 0x1010], 1
xor ebp, ebp
push ebp
push 0x800
lea edx, [esp + 0x20c8]
push edx
call fcn.004317b0
mov eax, dword [esp + 0x24]
add dword [esp + 0x14], 0x1018
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x24]
jb 0x43a924
or edi, 0xffffffff
push 0x463c00
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], edi
call fcn.004177c0
mov eax, dword [esi + 0x2c]
push eax
mov dword [esi + 0x34], ebp
call fcn.0045333f
mov dword [esi + 0x30], eax
add esp, 8
xor eax, eax
cmp dword [esi + 0x2c], ebp
jbe 0x43ab75
xor edx, edx
mov ecx, dword [esi]
add ecx, edx
cmp dword [ecx], ebp
je 0x43ab50
cmp byte [ecx + 0x1010], 0
jne 0x43ab50
mov ecx, 1
jmp 0x43ab52
xor ecx, ecx
mov ebx, dword [esi + 0x30]
mov byte [eax + ebx], cl
cmp eax, dword [esi + 0x24]
jae 0x43ab69
mov ecx, dword [esi + 0x30]
cmp byte [eax + ecx], 0
jne 0x43ab69
inc dword [esi + 0x34]
inc eax
add edx, 0x1018
cmp eax, dword [esi + 0x2c]
jb 0x43ab38
xor edx, edx
mov eax, 0x4000000
div dword [esi + 0x34]
mov dword [esi + 0x20], eax
test al, 1
je 0x43ab8a
dec eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x2c]
and dword [esi + 0x20], 0xfffffff0
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045333f
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], eax
call fcn.004424a0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
push eax
push ecx
push edx
lea ecx, [esp + 0x54]
mov byte [esp + 0x50d8], 3
call fcn.004424d0
test al, al
jne 0x43ac02
lea ecx, [esp + 0x48]
mov byte [esp + 0x50cc], al
call fcn.00441db0
lea ecx, [esp + 0x10b8]
mov dword [esp + 0x50cc], edi
call fcn.004242b0
xor al, al
jmp 0x43ae51
mov eax, dword [esi + 0x20]
add eax, 0x10
push eax
call fcn.0045333f
mov ecx, eax
not ecx
inc ecx
and ecx, 0xf
add esp, 4
add ecx, eax
mov dword [esi + 0x10], eax
mov dword [esp + 0x18], ecx
call fcn.00446120
mov ebx, dword [esi + 0x24]
xor ebp, ebp
mov dword [esp + 0x14], ebp
cmp ebx, ebp
jbe 0x43adae
jmp 0x43ac40
mov ecx, dword [esi + 0x30]
cmp byte [ecx + ebp], 0
mov eax, ebp
jne 0x43ac5d
cmp byte [ecx + ebx], 0
jne 0x43ac5a
mov eax, ecx
inc ebx
cmp byte [ebx + eax], 0
je 0x43ac53
mov eax, ebx
inc ebx
imul eax, eax, 0x1018
add eax, dword [esi]
xor edi, edi
mov ecx, dword [eax]
test ecx, ecx
je 0x43ac88
cmp byte [eax + 0x1010], 0
jne 0x43ac88
mov eax, dword [esi + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
mov eax, dword [esp + 0x1c]
push eax
call edx
mov edi, eax
mov eax, dword [esi + 0x20]
cmp edi, eax
je 0x43aca4
sub eax, edi
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [edi + eax]
push 0
push ecx
call fcn.004538e0
add esp, 0xc
cmp edi, dword [esp + 0x14]
jle 0x43acae
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push 0
push edi
push edx
push ebp
push eax
mov ecx, esi
call fcn.00439630
inc ebp
cmp ebp, dword [esi + 0x24]
jb 0x43ac40
xor eax, eax
cmp edi, eax
je 0x43adae
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x24], eax
jbe 0x43ad5c
mov dword [esp + 0x24], eax
lea esp, [esp]
mov ecx, dword [esi + 0x30]
cmp byte [eax + ecx], 0
jne 0x43ad4a
mov edi, dword [esi]
add edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi + 0x100c]
mov ebp, dword [edi + 0x1008]
mov eax, ebx
cdq
cmp edx, ecx
ja 0x43ad1e
jb 0x43ad1c
cmp eax, ebp
jae 0x43ad1e
mov ebp, ebx
mov eax, dword [esi + 0x20]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [edi]
imul eax, ebx
add eax, dword [esi + 0x1c]
push ebp
push eax
call fcn.00421950
mov eax, dword [esp + 0x38]
inc ebx
sub dword [edi + 0x1008], ebp
mov dword [esp + 0x3c], ebx
sbb dword [edi + 0x100c], 0
add dword [esp + 0x24], 0x1018
inc eax
mov dword [esp + 0x38], eax
cmp eax, dword [esi + 0x24]
jb 0x43acf0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push edx
call fcn.004456c0
mov edi, eax
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x6144], 0
jne 0x43ad9c
cmp edi, dword [esp + 0x28]
je 0x43ad9c
push edi
push str._b_b_b_b_3d__
call fcn.004177c0
add esp, 8
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
cdq
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edx
jmp 0x43ac22
xor ebx, ebx
cmp dword [esi + 0x2c], ebx
jbe 0x43add1
xor edi, edi
mov ecx, dword [esi]
mov ecx, dword [edi + ecx]
test ecx, ecx
je 0x43adc5
call fcn.00421850
inc ebx
add edi, 0x1018
cmp ebx, dword [esi + 0x2c]
jb 0x43adb7
mov esi, dword [esi + 0x30]
push esi
call fcn.00453d40
mov edx, dword [esp + 0x30]
push edx
call fcn.00453d40
mov esi, dword [esp + 0x28]
add esp, 8
cmp byte [esi + 0x6144], 0
jne 0x43ae01
push str._b_b_b_b100__
call fcn.004177c0
add esp, 4
cmp byte [esp + 0x50dc], 0
jne 0x43ae27
cmp byte [esi + 0x6146], 0
jne 0x43ae27
push 0xd1e
call fcn.00440400
push eax
call fcn.004177c0
add esp, 4
lea ecx, [esp + 0x48]
mov byte [esp + 0x50cc], 0
call fcn.00441db0
lea ecx, [esp + 0x10b8]
mov dword [esp + 0x50cc], 0xffffffff
call fcn.004242b0
mov al, 1
mov ecx, dword [esp + 0x50c4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50ac]
xor ecx, esp
call fcn.0045334a
add esp, 0x50bc
ret 0xc