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

Disassembly:
sub esp, 0x11c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x12c]
mov eax, dword [esi]
xor ebp, ebp
cmp eax, 1
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
jne 0x652053b8
mov ecx, dword [esi + 0x7c]
cmp ecx, ebp
je 0x6520521a
call fcn.6521c290
mov ecx, dword [esi + 0x7c]
call fcn.6521ad00
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x6520522e
call fcn.6521ac10
test eax, eax
jne 0x652054f2
push pe_nt_image_headers32
lea eax, [esp + 0x30]
push eax
push 0x2350
call fcn.65266420
mov edx, dword [esi + 0x20]
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0
push 0
push 0
push 3
push edx
call dword [esi + 0x1c]
push pe_nt_image_headers32
lea eax, [esp + 0x30]
push eax
push 0x24ab
call fcn.65266420
mov edx, dword [esi + 0x20]
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0
push 0
push 0
push 2
push edx
call dword [esi + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x1d8]
push eax
push ebp
xor edi, edi
push edi
push ecx
xor ebx, ebx
call fcn.6521a3d0
mov word [esi + 0x1f4], ax
movsx eax, ax
add esp, 0x10
cmp eax, 0xffffff9c
jg 0x65205513
je 0x652052ce
cmp eax, 0xffffff99
je 0x652054ff
cmp eax, 0xffffff9a
jne 0x6520552d
mov ebx, 1
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x652052ee
call fcn.6521ac10
test eax, eax
jne 0x652054f2
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x7c]
push eax
call fcn.6521bd40
mov ecx, dword [esi + 4]
test byte [ecx + 0x1a], 2
je 0x6520532f
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.6525ba00
add esp, 8
test eax, eax
jne 0x6520532f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x1d8]
push ecx
push edx
push 0x70
push eax
call fcn.65218fc0
add esp, 0x10
test eax, eax
jne 0x652054f2
mov ecx, dword [esp + 0x138]
mov dword [ecx], 1
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x6520554b
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x6520554b
mov edx, dword [esi + 0x3c]
mov eax, dword [esp + 0x134]
mov dword [eax], edx
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x65205382
call fcn.6521ac60
test eax, eax
jne 0x65205558
test ebx, ebx
jne 0x65205558
test edi, edi
jne 0x65205558
mov eax, dword [esi + 0x1dc]
test eax, eax
jne 0x6520539b
push 0x209e
xor edx, edx
call fcn.65205160
add esp, 4
mov eax, dword [esi + 0x1dc]
inc eax
pop edi
mov dword [esi + 0x1dc], eax
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x11c
ret
push esi
call fcn.65204ca0
add esp, 4
test eax, eax
je 0x652054f2
mov ecx, dword [esi + 0x7c]
cmp ecx, ebp
mov dword [esi], 1
je 0x65205419
call fcn.6521c280
mov ecx, dword [esi + 0x7c]
call fcn.6521ac10
test eax, eax
jne 0x652054f2
mov eax, dword [esi + 0x78]
cmp eax, ebp
je 0x65205419
mov ecx, dword [esi + 0x7c]
push eax
call fcn.6521adf0
mov edi, dword [esi + 0x78]
test edi, edi
je 0x65205412
mov ecx, edi
call fcn.65201210
push edi
call fcn.6527b500
add esp, 4
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x27c]
test eax, eax
jne 0x6520544f
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.6525bd50
add esp, 8
test eax, eax
jne 0x652054f2
push 0x209d
lea edx, [esp + 0x20]
call fcn.65205160
add esp, 4
jmp 0x6520546e
lea edx, [esp + 0x24]
push edx
mov edx, dword [esi + 0x30]
lea ecx, [esp + 0x20]
push ecx
push eax
push edx
call fcn.65218e00
lea eax, [esp + 0x34]
add esp, 0x10
mov dword [esp + 0x14], eax
lea ebp, [esp + 0x1c]
lea edi, [esi + 0x88]
jmp 0x65205480
mov ecx, dword [esi + 0xc]
push ecx
call fcn.6525bf80
mov dword [esi + 0x184], edx
lea edx, [esp + 0x14]
push edx
push edi
mov dword [esi + 0x180], eax
call fcn.65218730
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test cx, cx
mov dword [esi + 0x1d8], eax
jne 0x652054ec
test eax, eax
je 0x652054f2
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.6521a7f0
add esp, 8
test ax, ax
mov dword [esp + 0x10], eax
je 0x6520521a
cmp ax, 0xff9a
jne 0x652054f2
mov edx, dword [esi + 0x1d8]
push 0
push 0xffffffffffffff9a
push edx
call fcn.6521a690
add esp, 0xc
jmp 0x65205480
cmp cx, 0xff9a
je 0x65205480
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x11c
ret
mov dword [esi + 0x288], 0
mov edi, 1
jmp 0x652052ce
test eax, eax
je 0x652052ce
cmp eax, 0xfb
jle 0x6520552d
cmp eax, 0xfd
jle 0x652052ce
mov edx, dword [esi + 0x2c]
push 0x1a0d
push edx
call fcn.652659d0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x11c
ret
mov ecx, dword [esp + 0x134]
mov dword [ecx], 0xffffffff
mov eax, dword [esi + 0x1d8]
xor edx, edx
mov dx, word [esi + 0x1f4]
push 1
push edx
push eax
call fcn.6521a690
mov ecx, dword [esi + 0x7c]
add esp, 0xc
test ecx, ecx
je 0x6520558a
call fcn.6521acf0
mov ecx, dword [esi + 0x7c]
call fcn.6521b3d0
mov dword [esi + 0x78], eax
push esi
call fcn.65205040
add esp, 4
pop edi
mov dword [esi], 0
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x11c
ret