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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 3
pop eax
xor edi, edi
xor esi, esi
cmp dword [ebp + 0x14], eax
jle 0x420614
mov dword [ebp + 0x14], eax
jmp 0x42061c
cmp dword [ebp + 0x14], edi
jge 0x42061c
mov dword [ebp + 0x14], edi
cmp dword [0x4a8e30], edi
jne 0x420629
call fcn.00416158
test word [ebp + 0x24], 0x200
jne 0x420639
call fcn.0041a785
mov dword [ebp - 4], eax
cmp dword [0x4a8e34], edi
je 0x420648
mov dword [ebp + 0x18], 1
cmp dword [ebp + 0x18], 1
je 0x420658
cmp dword [ebp + 0x18], 2
jne 0x42078b
mov eax, dword [ebp + 0x24]
and eax, 0xfffffdff
mov ebx, 0x80
or eax, ebx
cmp dword [0x4a9f9c], edi
mov dword [ebp + 0x24], eax
jbe 0x420692
push dword [0x4a9fbc]
call fcn.004191ad
cmp dword [0x4a9f9c], edi
pop ecx
jne 0x4206b9
push dword [0x4a9fbc]
call fcn.0041933f
pop ecx
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004204e0
add esp, 0x20
mov esi, eax
jmp 0x420ba6
mov esi, dword [0x4a9fb0]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
add esi, 0xffffff9c
mov dword [eax], ecx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x68]
mov dword [eax + 4], ecx
push dword [0x4a9fbc]
dec dword [0x4a9f9c]
call fcn.0041933f
lea eax, [esi + 0x74]
mov dword [eax], eax
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x24]
pop ecx
or eax, ebx
cmp dword [ebp + 8], 1
lea ecx, [esi + 0x8c]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0xa8], edi
mov dword [esi + 0xa0], edi
mov dword [esi + 0x14], edi
mov dword [ecx], eax
jne 0x42072c
or eax, 1
mov dword [ecx], eax
push 0x4aa0c8
jmp 0x420731
push 0x4aa080
call fcn.00429224
cmp dword [ebp + 0x1c], edi
pop ecx
lea ebx, [esi + 0x94]
jne 0x420755
cmp dword [ebx], edi
jne 0x420764
push dword [0x4aa0b8]
call fcn.00419ec1
mov dword [ebx], eax
jmp 0x420763
mov eax, dword [ebx]
cmp eax, edi
je 0x420764
push eax
call fcn.00419eff
mov dword [ebx], edi
pop ecx
mov eax, dword [ebp + 0x14]
push eax
mov dword [esi + 4], eax
lea eax, [esi + 0xac]
push eax
call fcn.0041a48c
push esi
mov dword [esi], 2
call fcn.0041b473
add esp, 0xc
jmp 0x420ba6
cmp dword [0x4a9f98], edi
jbe 0x4207b3
push dword [0x4a9fbc]
call fcn.004191ad
cmp dword [0x4a9f98], edi
pop ecx
jne 0x4207e3
push dword [0x4a9fbc]
call fcn.0041933f
pop ecx
mov ebx, dword [ebp + 0x10]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 0x20]
call fcn.0041a64a
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x4208a7
push edi
push 0xffffe890
call fcn.00421647
pop ecx
pop ecx
xor eax, eax
jmp 0x420ba8
mov eax, dword [0x4a9fa0]
mov ecx, 0x4a9fa0
jmp 0x420809
lea esi, [eax - 0x64]
mov edx, dword [esi + 0x10]
mov edx, dword [edx + 0x1c]
cmp edx, dword [ebp + 0x20]
jb 0x420805
cmp dword [esi + 0x90], edi
je 0x42080f
mov eax, dword [eax]
xor esi, esi
cmp eax, ecx
jne 0x4207ef
jmp 0x420826
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x68]
mov dword [eax + 4], ecx
dec dword [0x4a9f98]
push dword [0x4a9fbc]
call fcn.0041933f
cmp esi, edi
pop ecx
je 0x4207b3
cmp dword [ebp + 0x1c], edi
lea eax, [esi + 0x74]
mov dword [eax], eax
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0xa8], edi
mov dword [esi + 0xa0], edi
mov dword [esi + 0x14], edi
mov dword [esi + 4], eax
lea ebx, [esi + 0x94]
jne 0x42088f
cmp dword [ebx], edi
jne 0x42096e
push dword [0x4aa0b8]
call fcn.00419ec1
pop ecx
mov dword [ebx], eax
jmp 0x42096e
mov eax, dword [ebx]
cmp eax, edi
je 0x42096e
push eax
call fcn.00419eff
pop ecx
mov dword [ebx], edi
jmp 0x42096e
mov eax, dword [ebp + 0x14]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
lea eax, [esi + 0x74]
push esi
mov dword [esi + 0x9c], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x10], edi
mov dword [esi + 8], ebx
mov dword [eax], eax
mov dword [esi + 0x78], eax
call fcn.0041a3db
cmp eax, 0xffffffff
pop ecx
jne 0x4208fe
cmp dword [esi + 0x9c], 1
jne 0x4208ec
push dword [esi + 0x10]
call fcn.004291c9
jmp 0x4208f2
push esi
call fcn.0041a232
pop ecx
push edi
push 0xffffe8aa
jmp 0x4207d5
lea ebx, [esi + 0x3c]
push ebx
call dword [0x48a104]
lea eax, [ebp - 8]
push eax
push 0x41f944
push edi
push esi
call fcn.0041a8ff
add esp, 0x10
cmp dword [ebp - 8], edi
jne 0x420953
push ebx
call dword [0x48a100]
cmp dword [esi + 0x9c], 1
jne 0x42093d
push dword [esi + 0x10]
call fcn.004291c9
jmp 0x4207db
push dword [esi + 0x24]
call fcn.0041a232
push esi
mov dword [esi + 0x24], edi
call fcn.0041a232
jmp 0x4207da
cmp dword [ebp + 0x1c], edi
jne 0x42096e
push dword [0x4aa0b8]
call fcn.00419ec1
cmp eax, edi
pop ecx
mov dword [esi + 0x94], eax
je 0x420920
push dword [0x4a9fc0]
call fcn.004191ad
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x8c], eax
inc dword [0x4aa078]
cmp dword [ebp + 8], 1
mov eax, dword [0x4aa078]
pop ecx
mov dword [esi + 0x88], eax
jne 0x4209a9
or dword [esi + 0x8c], 1
inc dword [0x4aa0c8]
jmp 0x4209af
inc dword [0x4aa080]
mov dword [esi], 1
push dword [0x4a9fc0]
call fcn.0041933f
test word [esi + 0x8c], 0x200
mov edi, dword [0x4a9bfc]
mov ebx, dword fs:[0x2c]
pop ecx
jne 0x4209ec
mov eax, dword [ebp - 4]
test byte [eax + 0x8c], 0x80
je 0x4209ec
call fcn.0041f1df
jmp 0x420a0c
cmp dword [0x4a7e00], 0
je 0x420a00
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0x10]
jmp 0x420a0c
push dword [0x4aa04c]
call dword [0x48a15c]
test word [esi + 0x8c], 0x200
mov dword [esi + 0x98], eax
jne 0x420afb
mov eax, dword [ebp - 4]
test byte [eax + 0x8c], 0x80
jne 0x420af0
cmp dword [0x4a7e00], 0
je 0x420a45
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0xc]
jmp 0x420a51
push dword [0x4aa03c]
call dword [0x48a15c]
cmp dword [0x4a7e00], 0
mov dword [ebp + 0x24], eax
je 0x420a6c
mov eax, dword [ebx + edi*4]
mov dword [eax + 0xc], 1
jmp 0x420a7a
push 1
push dword [0x4aa03c]
call dword [0x48a160]
mov eax, dword [esi + 0x98]
push dword [eax + 0x24]
call dword [0x48a164]
mov eax, dword [esi + 0x98]
mov ebx, dword [eax + 0x24]
mov edx, dword [ebp + 0x14]
lea ebx, [ebx + edx*8 + 0x48]
lea ecx, [esi + 0x64]
mov dword [ecx], ebx
mov ebx, dword [eax + 0x24]
shl edx, 3
mov ebx, dword [edx + ebx + 0x4c]
mov dword [esi + 0x68], ebx
mov eax, dword [eax + 0x24]
mov eax, dword [edx + eax + 0x4c]
mov dword [eax], ecx
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x24]
mov dword [eax + edx + 0x4c], ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x24]
xor edx, edx
inc edx
mov ebx, edx
shl ebx, cl
or dword [eax + 0x68], ebx
mov eax, dword [esi + 0x98]
mov dword [esi + 0x54], edx
push dword [eax + 0x24]
call dword [0x48a168]
mov ebx, dword fs:[0x2c]
test word [esi + 0x8c], 0x200
je 0x420aff
push 0
jmp 0x420b0c
mov eax, dword [ebp - 4]
test byte [eax + 0x8c], 0x80
je 0x420b12
push esi
call fcn.0041b473
pop ecx
test word [esi + 0x8c], 0x200
jne 0x420ba6
mov eax, dword [ebp - 4]
test byte [eax + 0x8c], 0x80
jne 0x420ba6
cmp dword [ebp + 0x24], 0
jne 0x420b80
cmp dword [0x4a7e00], 0
je 0x420b47
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0x10]
jmp 0x420b53
push dword [0x4aa04c]
call dword [0x48a15c]
cmp dword [eax + 0xc], 0
je 0x420b80
cmp dword [0x4a7e00], 0
je 0x420b6d
mov eax, dword [ebx + edi*4]
mov eax, dword [eax + 0x10]
jmp 0x420b79
push dword [0x4aa04c]
call dword [0x48a15c]
push eax
call fcn.00418fe9
pop ecx
cmp dword [0x4a7e00], 0
je 0x420b97
mov eax, dword [ebx + edi*4]
mov ecx, dword [ebp + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x420ba6
push dword [ebp + 0x24]
push dword [0x4aa03c]
call dword [0x48a160]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret