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

Disassembly:
sub esp, 0x38
lea eax, [esp]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
xor ebx, ebx
push eax
push ebx
push 1
push esi
call fcn.0056a1c0
add esp, 0x10
test eax, eax
je 0x53957a
mov eax, dword [esp + 0x10]
cmp eax, 0x35000
jb 0x539557
cmp eax, 0x37002
ja 0x539557
lea ecx, [esp + 0x1c]
push 0x2c
push ecx
push esi
call fcn.00569230
add esp, 0xc
cmp eax, 0x2c
jne 0x53957a
mov ebp, dword [esp + 0x50]
mov edx, dword [0x5ce4fc]
mov esi, dword [ebp]
cmp esi, ebx
lea eax, [esi + edx]
mov dword [ebp], eax
jne 0x539254
mov ecx, dword [0x5ce4fc]
mov dword [esp + 0x14], 2
push ecx
push 0x80000013
call fcn.0052e800
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push edx
call fcn.0057cd50
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov dword [esi], 0xffffffff
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x6c]
lea edi, [esi + 0x10]
mov dword [eax], ecx
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x30]
lea edx, [esi + 0x60]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x34]
mov dword [edx], eax
mov ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov cx, word [esp + 0x1c]
mov word [esi + 0x80], cx
mov dx, word [esp + 0x20]
mov word [esi + 0x84], dx
mov ax, word [esp + 0x24]
mov word [esi + 0x82], ax
mov ecx, 8
xor eax, eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0xc], ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x54]
lea eax, [esi + 0x38]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x7c], ebx
mov dword [eax], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x34], ebx
mov dword [esi + 0x78], ebx
mov dword [eax], eax
mov dword [esi + 0x44], eax
test dword [ecx + 8], 0x1000000
jne 0x5394ea
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x53943a
mov ecx, dword [ebp]
lea eax, [eax + eax*2]
shl eax, 2
cmp ecx, ebx
push eax
lea edx, [ecx + eax]
mov dword [ebp], edx
mov dword [esi + 8], ecx
je 0x53945e
push ecx
mov ecx, dword [esp + 0x54]
push ecx
call fcn.0056a370
add esp, 0xc
test eax, eax
je 0x53936d
test byte [esp + 0x58], 0x10
je 0x5393a0
mov edx, dword [esp + 0x24]
mov eax, dword [ebp]
cmp eax, ebx
lea edi, [edx*4]
push edi
lea ecx, [eax + edi]
mov dword [ebp], ecx
mov dword [esi + 0xc], eax
jne 0x53938e
push 0x80000013
mov dword [esp + 0x1c], 2
call fcn.0052e800
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push edx
call fcn.0057cd50
add esp, 0xc
mov edx, dword [esp + 0x54]
push esi
test byte [edx + 3], 1
je 0x539545
call fcn.00537d40
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push eax
mov eax, dword [esp + 0x54]
push eax
call fcn.00569230
add esp, 0xc
cmp eax, edi
jne 0x53936d
test byte [esp + 0x58], 8
je 0x5393d5
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
shl ecx, 2
cmp eax, ebx
push ecx
lea edx, [eax + ecx]
mov dword [ebp], edx
mov dword [esi + 0x30], eax
je 0x53945e
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.00569230
add esp, 0xc
test eax, eax
je 0x53936d
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
cmp eax, ebx
jle 0x53943a
xor edi, edi
mov dword [esp + 0x58], ebx
mov di, word [esi + 0x82]
shl edi, 3
cmp eax, ebx
jle 0x53943a
lea ebx, [esi + 0x10]
mov eax, dword [ebp]
push edi
test eax, eax
lea ecx, [eax + edi]
mov dword [ebp], ecx
mov dword [ebx], eax
je 0x53934a
mov edx, dword [esp + 0x50]
push eax
push edx
call fcn.0056a370
add esp, 0xc
test eax, eax
je 0x53936d
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
inc eax
add ebx, 4
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x58], eax
cmp eax, edx
jl 0x5393f7
xor ebx, ebx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x5394ea
lea ecx, [eax*8]
mov eax, dword [ebp]
cmp eax, ebx
push ecx
lea edx, [eax + ecx]
mov dword [ebp], edx
mov dword [esi + 4], eax
jne 0x53947e
push 0x80000013
mov dword [esp + 0x1c], 2
call fcn.0052e800
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
jmp 0x539365
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.0056a370
add esp, 0xc
test eax, eax
je 0x53936d
cmp dword [esp + 0x10], 0x36002
jae 0x5394ea
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, ebx
jle 0x5394ea
mov edx, dword [esi + 4]
mov edi, dword [edx + eax*8 + 4]
lea ecx, [edx + eax*8]
mov dword [esp + 0x18], edi
inc eax
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
mov bp, word [esp + 0x16]
mov word [ecx], bp
mov ecx, dword [esi + 4]
mov word [ecx + eax*8 - 6], di
mov ecx, dword [esi + 4]
mov di, word [esp + 0x1a]
mov word [ecx + eax*8 - 4], di
mov ecx, dword [esi + 4]
mov word [ecx + eax*8 - 2], dx
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jl 0x5394a8
push esi
push 0x5ce4fc
call fcn.0057e890
mov edx, dword [esp + 0x54]
push esi
push edx
push 0x5ce4fc
mov dword [0x60fa18], ebx
mov dword [0x60fa0c], ebx
call fcn.0057ea00
add esp, 0x14
test eax, eax
je 0x53936d
mov eax, dword [0x60fa18]
cmp eax, ebx
je 0x53953b
mov ecx, dword [0x60fa0c]
push ecx
push esi
push eax
push 0x5ce4fc
call fcn.0057eb30
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.00537df0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push 0x80000004
mov dword [esp + 0x18], 2
call fcn.0052e800
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.0057cd50
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret