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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x51a0a0]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 8], ecx
mov dword [esp + 0x18], ebx
push esi
push edi
test ebx, ebx
je 0x43f68d
mov edi, dword [ebx + 4]
mov esi, dword [ebx]
cmp esi, edi
je 0x43f1cf
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x43f1a5
mov ecx, dword [esi]
inc eax
cmp eax, 0x7fffffff
ja 0x43f6a4
add eax, eax
cmp eax, 0x1000
jb 0x43f19c
test cl, 0x1f
jne 0x43f6a4
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x43f6a4
sub ecx, eax
cmp ecx, 4
jb 0x43f6a4
cmp ecx, 0x23
ja 0x43f6a4
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x43f1bd
mov eax, dword [esi]
jmp 0x43f1bf
mov eax, esi
xor ecx, ecx
add esi, 0x18
mov word [eax], cx
cmp esi, edi
jne 0x43f153
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx]
mov dword [ebx + 4], eax
cmp dword [ecx + 0x10], 0
je 0x43f68d
xor eax, eax
mov dword [esp + 0x14], 0
push 0xffffffffffffffff
push eax
push ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
mov word [esp + 0x48], ax
call fcn.0041b960
xor eax, eax
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x40]
call fcn.0043f900
sub esp, 8
mov edx, esp
cmp dword [eax + 0x14], 8
jb 0x43f24e
mov ecx, dword [eax]
jmp 0x43f250
mov ecx, eax
mov dword [edx], ecx
sub esp, 8
mov eax, dword [eax + 0x10]
mov ecx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x4c]
cmp dword [esp + 0x60], 8
cmovae eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 4], eax
call fcn.0043e750
add esp, 0x10
lea ecx, [esp + 0x24]
mov bl, al
call fcn.0043ef40
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
call fcn.0043fa50
push eax
lea ecx, [esp + 0x58]
call fcn.0043efe0
lea ecx, [esp + 0x24]
call fcn.0043ef40
test bl, bl
jne 0x43f2ed
lea ecx, [esp + 0x54]
call fcn.0043e930
test al, al
jne 0x43f2c7
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x18]
call fcn.00431417
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x40]
call fcn.0043f900
push eax
lea ecx, [esp + 0x40]
call fcn.0043efe0
lea ecx, [esp + 0x24]
call fcn.0043ef40
jmp 0x43f231
mov edi, dword [esp + 0x64]
test edi, edi
je 0x43f365
cmp dword [esp + 0x68], 8
lea ecx, [esp + 0x54]
mov esi, 1
cmovae ecx, dword [esp + 0x54]
cmp edi, esi
cmovb esi, edi
test esi, esi
je 0x43f337
mov edx, 0x503fa4
nop word [eax + eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x43f409
add ecx, 2
add edx, 2
sub esi, 1
jne 0x43f320
xor eax, eax
test eax, eax
jne 0x43f344
cmp edi, 1
jb 0x43f344
jbe 0x43f365
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x40]
call fcn.0043fa50
push eax
lea ecx, [esp + 0x18]
call fcn.00431417
lea ecx, [esp + 0x24]
call fcn.0043ef40
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x40]
call fcn.0043f900
cmp dword [esp + 0x80], 8
lea eax, [esp + 0x6c]
cmovae eax, dword [esp + 0x6c]
cmp dword [esp + 0x7c], 2
jb 0x43f458
cmp word [eax + 2], 0x3a
jne 0x43f458
movzx eax, word [eax]
cmp eax, 0x41
jb 0x43f3a7
cmp eax, 0x5a
jbe 0x43f3b9
cmp eax, 0x61
jb 0x43f458
cmp eax, 0x7a
ja 0x43f458
xor eax, eax
mov dword [esp + 0x38], 7
push 2
push eax
mov word [esp + 0x2c], ax
lea ecx, [esp + 0x2c]
lea eax, [esp + 0x74]
mov dword [esp + 0x3c], 0
push eax
call fcn.0041b960
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
call fcn.00440530
mov eax, dword [esp + 0x38]
cmp eax, 8
jb 0x43f458
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, 0x7fffffff
jbe 0x43f41a
jmp 0x43f6a4
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x43f339
add eax, eax
cmp eax, 0x1000
jb 0x43f44f
test byte [esp + 0x24], 0x1f
jne 0x43f6a9
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x43f6ae
sub ecx, eax
cmp ecx, 4
jb 0x43f6b3
cmp ecx, 0x23
ja 0x43f6b8
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov byte [esp + 0x10], 0
push dword [esp + 0x10]
mov dword [esp + 0x28], 0
push dword [esp + 0x18]
mov dword [esp + 0x30], 0
push edi
mov dword [esp + 0x38], 0
call fcn.004408b0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x24]
push eax
call fcn.00440600
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x43f591
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x43f52b
lea esi, [ebx + 0x14]
mov eax, dword [esi]
cmp eax, 8
jb 0x43f502
mov ecx, dword [esi - 0x14]
inc eax
cmp eax, 0x7fffffff
ja 0x43f6a4
add eax, eax
cmp eax, 0x1000
jb 0x43f4f9
test cl, 0x1f
jne 0x43f6a4
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x43f6a4
sub ecx, eax
cmp ecx, 4
jb 0x43f6a4
cmp ecx, 0x23
ja 0x43f6a4
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
mov dword [esi], 7
cmp dword [esi], 8
mov dword [esi - 4], 0
jb 0x43f519
mov eax, dword [esi - 0x14]
jmp 0x43f51c
lea eax, [esi - 0x14]
add esi, 0x18
xor ecx, ecx
mov word [eax], cx
lea eax, [esi - 0x14]
cmp eax, edi
jne 0x43f4b0
mov ecx, dword [esp + 0x2c]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
ja 0x43f6bd
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x43f584
test bl, 0x1f
jne 0x43f6c2
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x43f6c7
sub ebx, eax
cmp ebx, 4
jb 0x43f6cc
cmp ebx, 0x23
ja 0x43f6d1
mov ebx, eax
push ebx
call fcn.004cbd7a
mov edi, dword [esp + 0x1c]
add esp, 4
lea ecx, [esp + 0x6c]
call fcn.0043ef40
lea ecx, [esp + 0x54]
call fcn.0043ef40
lea ecx, [esp + 0x3c]
call fcn.0043ef40
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x43f68d
cmp ebx, edi
je 0x43f63b
lea esi, [ebx + 0x14]
nop
mov eax, dword [esi]
cmp eax, 8
jb 0x43f612
mov ecx, dword [esi - 0x14]
inc eax
cmp eax, 0x7fffffff
ja 0x43f6a4
add eax, eax
cmp eax, 0x1000
jb 0x43f609
test cl, 0x1f
jne 0x43f6a4
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x43f6a4
sub ecx, eax
cmp ecx, 4
jb 0x43f6a4
cmp ecx, 0x23
ja 0x43f6a4
mov ecx, eax
push ecx
call fcn.004cbd7a
add esp, 4
mov dword [esi], 7
cmp dword [esi], 8
mov dword [esi - 4], 0
jb 0x43f629
mov eax, dword [esi - 0x14]
jmp 0x43f62c
lea eax, [esi - 0x14]
add esi, 0x18
xor ecx, ecx
mov word [eax], cx
lea eax, [esi - 0x14]
cmp eax, edi
jne 0x43f5c0
mov ecx, dword [esp + 0x1c]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
ja 0x43f6d6
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x43f684
test bl, 0x1f
jne 0x43f6db
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x43f6e0
sub ebx, eax
cmp ebx, 4
jb 0x43f6e5
cmp ebx, 0x23
ja 0x43f6ea
mov ebx, eax
push ebx
call fcn.004cbd7a
add esp, 4
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004cb8a3
mov esp, ebp
pop ebp
ret 4
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
call fcn.004d1350
int3