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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
call fcn.0051efe0
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x40]
call fcn.0053ce90
mov edi, dword [esp + 0x40]
xor ebx, ebx
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
push edi
call dword [0x100cf0ec]
mov esi, eax
cmp esi, 0xffffffff
jne 0x52b357
cmp edi, ebx
je 0x52b34b
mov eax, edi
call fcn.00472510
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ebx
push esi
call dword [0x100cf0fc]
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
jbe 0x52b37e
push edi
call fcn.0053b370
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x20]
push 0
lea eax, [esp + 0x90]
push eax
push edi
push ecx
push esi
call dword [0x100cf0c0]
push esi
call dword [0x100cf21c]
mov edx, dword [esp + 0x40]
push 1
push 0
push edx
call dword [0x100cf18c]
mov esi, eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0xe8]
mov edi, dword [ecx + esi + 8]
mov ebx, dword [edi + esi + 0xc]
add edi, esi
xor ecx, ecx
lea eax, [ebx + 2]
cmp eax, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
jbe 0x52b3ec
lea eax, [ebx + 2]
lea edx, [eax + eax]
push edx
call fcn.0053b370
lea ecx, [ebx + 2]
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x28]
push eax
push ecx
call dword [0x100ef7e8]
xor eax, eax
test ebx, ebx
jbe 0x52b421
mov ecx, dword [esp + 0x28]
jmp 0x52b410
movzx dx, byte [edi + eax + 0x10]
mov word [ecx + eax*2], dx
add eax, 1
cmp eax, ebx
jb 0x52b410
push esi
call dword [0x100cf124]
push 4
lea eax, [esp + 0x14]
push eax
call dword [0x100ef7e8]
xor ebx, ebx
push ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x5c], ebx
call dword [0x100cf338]
cmp eax, ebx
jge 0x52b495
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x52b45e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x52b46b
call fcn.00472510
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x52b478
call fcn.00472510
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x52b34b
call fcn.00472510
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ecx, ecx
cmp eax, ebx
sete cl
push 0x100d7fa4
mov dword [esp + 0x78], ecx
call dword [0x100cf254]
push 0x100da3c4
push eax
mov dword [esp + 0x80], eax
call dword [0x100cf25c]
mov esi, eax
cmp esi, ebx
jne 0x52b4d6
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x52b45e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x52b45a
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x10]
push ecx
push 0x100da928
push 0x100da908
push 1
push ebx
push edi
call esi
test eax, eax
jge 0x52b8e5
push 4
lea edx, [esp + 0x18]
push edx
call dword [0x100ef7e8]
lea eax, [esp + 0x14]
push eax
push 0x100da918
push 0x100da8f8
push 5
push 0x100da3d8
push edi
call esi
test eax, eax
mov eax, dword [esp + 0x14]
jge 0x52b558
cmp eax, ebx
je 0x52b535
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x52b549
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
cmp edi, ebx
je 0x52b46b
mov eax, edi
jmp 0x52b466
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push eax
call edx
test eax, eax
jge 0x52b5b9
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x52b578
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x52b58c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
cmp edi, ebx
je 0x52b597
mov eax, edi
call fcn.00472510
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x52b5a4
call fcn.00472510
lea ecx, [esp + 0x40]
call fcn.004729b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 4
lea eax, [esp + 0x54]
push eax
call dword [0x100ef7e8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x50]
push edx
push eax
mov eax, dword [ecx + 0x48]
call eax
push 4
lea ecx, [esp + 0x20]
push ecx
call dword [0x100ef7e8]
mov eax, dword [esp + 0x50]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x1c]
push ecx
push 0x100d74a4
push eax
call edx
mov eax, dword [esp + 0x40]
push 0x100cf980
push ecx
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.004ab9a0
add esp, 0xc
push eax
lea edx, [esp + 0x64]
push edx
call fcn.004ccef0
mov edi, dword [eax]
add esp, 0xc
lea esi, [esp + 0x7c]
call fcn.004ffca0
lea ecx, [esp + 0x5c]
call fcn.004729b0
lea ecx, [esp + 0x30]
call fcn.004729b0
mov ecx, dword [esp + 0x7c]
cmp ecx, ebx
jne 0x52b649
mov ecx, 0x100cf494
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
mov ebx, dword [esp + 0x40]
xor eax, eax
lea edi, [esp + 0x30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
call fcn.00475be0
push 0x100da3e0
mov esi, edi
call fcn.004a2150
mov ecx, dword [esp + 0x30]
push ecx
call dword [0x100cf130]
cmp eax, 0xffffffff
je 0x52b6bd
mov edi, dword [esp + 0x30]
lea esi, [esp + 0x5c]
call fcn.004ffca0
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x52b6a7
mov eax, 0x100cf494
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x28]
push ecx
call eax
lea esi, [esp + 0x5c]
call fcn.004ffd60
push 4
lea ecx, [esp + 0x50]
push ecx
call dword [0x100ef7e8]
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x44]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
push 0
push ecx
push 0x100d64f4
push eax
call edx
push 4
lea eax, [esp + 0x40]
push eax
call dword [0x100ef7e8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push 0x100d74b4
push eax
mov eax, dword [ecx]
call eax
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x52b80a
push 0x100cf954
call dword [0x100cf254]
push 0x100cf96c
push eax
call dword [0x100cf25c]
lea ecx, [esp + 0x54]
push ecx
push esi
call eax
mov edi, dword [0x100cf284]
lea edx, [esp + 0x90]
push edx
mov esi, eax
call edi
lea eax, [esp + 0xa0]
push eax
call edi
mov ecx, dword [esp + 0x54]
push ecx
push 0
push 8
call dword [0x100cf288]
mov ebx, eax
xor eax, eax
cmp dword [esp + 0x54], eax
mov dword [esp + 0x70], eax
jle 0x52b796
mov edi, dword [0x100cf28c]
mov edx, dword [esi + eax*4]
push edx
call dword [0x100cf274]
push eax
lea eax, [esp + 0x74]
push eax
push ebx
call edi
mov eax, dword [esp + 0x70]
add eax, 1
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
jl 0x52b772
push esi
call dword [0x100cf218]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
lea esi, [esp + 0x5c]
mov dword [esp + 0x6c], ecx
call fcn.004ffca0
mov eax, dword [eax]
test eax, eax
jne 0x52b7bd
mov eax, 0x100cf494
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
lea esi, [esp + 0x58]
push esi
push ebx
push 0
push eax
mov eax, dword [edx + 0xd0]
push ecx
call eax
mov esi, eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x52b7e6
push eax
call dword [0x100cf278]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x52b7f3
call fcn.00472510
test esi, esi
jne 0x52b7ff
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
push ebx
call dword [0x100cf290]
xor edi, edi
jmp 0x52b850
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
lea esi, [esp + 0x5c]
call fcn.004ffca0
mov eax, dword [eax]
xor edi, edi
cmp eax, edi
jne 0x52b828
mov eax, 0x100cf494
mov edx, dword [ebx]
mov edx, dword [edx + 0xcc]
lea ecx, [esp + 0x58]
push ecx
push eax
push ebx
call edx
lea esi, [esp + 0x5c]
mov ebx, eax
call fcn.004ffd60
cmp ebx, edi
jne 0x52b850
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
cmp eax, edi
je 0x52b864
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x4c]
cmp eax, edi
je 0x52b878
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x52b885
call fcn.00472510
mov eax, dword [esp + 0x7c]
cmp eax, edi
je 0x52b894
push eax
call dword [0x100cf278]
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x52b8a4
call fcn.00472510
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x52b8b8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x50]
cmp eax, edi
je 0x52b8cc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x52bbb4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x52bbb4
mov esi, dword [0x100cf090]
push 1
push 1
push 0x100ef4a8
call esi
cmp eax, 1
jne 0x52b915
mov edi, dword [0x100cf138]
push 0x64
call edi
push 1
push 1
push 0x100ef4a8
call esi
cmp eax, 1
je 0x52b901
push ebx
push ebx
push 0x100ef4ac
call esi
test eax, eax
jne 0x52bb23
mov edi, dword [0x100cf084]
push 1
push 0x100ef4a8
call edi
push 0x100da3e0
push ecx
lea eax, [esp + 0x38]
call fcn.0053cf30
add esp, 4
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004ccef0
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x52b962
call fcn.00472510
mov ebx, dword [esp + 0x5c]
push ebx
call dword [0x100cf130]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov esi, ecx
test esi, esi
mov dword [esp + 0x6c], esi
jne 0x52b9df
xor eax, eax
push 0x100da3f0
lea esi, [esp + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
call fcn.00475c60
mov edx, dword [0x100ef48c]
push 0
push 1
push 0x40000000
push ebx
push edx
call fcn.00520bb0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push 0
mov esi, eax
lea eax, [esp + 0x58]
push eax
push ecx
push edx
push esi
call dword [0x100cf23c]
push esi
call dword [0x100cf21c]
lea esi, [esp + 0x30]
call fcn.00472a90
mov esi, dword [esp + 0x6c]
push 4
lea eax, [esp + 0x18]
push eax
call dword [0x100ef7e8]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
test eax, eax
mov eax, dword [esp + 0x14]
jge 0x52ba63
xor esi, esi
cmp eax, esi
je 0x52ba17
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x5c]
call fcn.004729b0
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x52ba34
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x52ba41
call fcn.00472510
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x52ba4e
call fcn.00472510
lea ecx, [esp + 0x40]
call fcn.004729b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 0x100da460
push 0x100da4b8
push eax
call edx
test eax, eax
jge 0x52bad3
mov eax, dword [esp + 0x14]
xor esi, esi
cmp eax, esi
je 0x52ba8f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x5c]
call fcn.004729b0
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x52baac
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
lea esi, [esp + 0x28]
call fcn.00472330
lea esi, [esp + 0x20]
call fcn.00472330
lea ecx, [esp + 0x40]
call fcn.004729b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
test eax, eax
jl 0x52ba79
test esi, esi
jne 0x52baee
push ebx
call dword [0x100cf20c]
push 1
push 0x100ef4ac
call edi
push 0
push 0x100ef4a8
call edi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x52bb18
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x5c]
call fcn.004729b0
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x52bb4f
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
lea esi, [esp + 0x18]
push esi
push ecx
mov ecx, dword [0x100ef4a4]
mov ecx, dword [ecx]
push 0x100da578
push 0x100da588
push ecx
push eax
call edx
cmp dword [esp + 0x18], ebx
jne 0x52bbb4
push 0x100da3e0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.004ccef0
mov edx, dword [esp + 0x68]
add esp, 0xc
push edx
call dword [0x100cf130]
lea edx, [esp + 0x18]
push edx
mov edx, dword [ebp + 8]
push edx
mov edx, dword [0x100ef4a4]
mov edx, dword [edx]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
je 0x52bb9a
push 0x100da5d0
jmp 0x52bb9f
push 0x100da608
push 0x100da588
push edx
push eax
mov eax, dword [ecx + 0x2c]
call eax
lea ecx, [esp + 0x5c]
call fcn.004729b0
cmp dword [esp + 0x74], 0
je 0x52bbc1
call dword [0x100cf334]
mov ecx, dword [esp + 0x78]
push ecx
call dword [0x100cf124]
mov eax, dword [esp + 0x10]
test eax, eax
mov esi, dword [esp + 0x18]
je 0x52bbe8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x52bbf5
call fcn.00472510
mov eax, dword [esp + 0x20]
test eax, eax
je 0x52bc02
call fcn.00472510
mov eax, dword [esp + 0x40]
test eax, eax
je 0x52bc0f
call fcn.00472510
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8