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

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, dword [esp + 0x50]
push esi
xor eax, eax
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
push eax
mov eax, dword [esp + 0x60]
and eax, 0xffff
push eax
push ebp
call fcn.00529fc0
mov eax, dword [ebp + 0xc]
add esp, 0xc
test ah, 8
je 0x52972f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, eax
or edx, ecx
jne 0x529745
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push ecx
push eax
push ebp
call fcn.0051a0e0
add esp, 0xc
test eax, eax
jne 0x52975c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x28c]
test eax, 0x80000
jne 0x5297b0
lea eax, [esp + 0x58]
push 2
push eax
push ecx
call dword [ebp + 0x290]
add esp, 0xc
cmp eax, 2
je 0x529792
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov al, byte [ebp + 0xc]
test al, al
jns 0x5297a6
lea edx, [esp + 0x58]
push edx
call fcn.00530a70
add esp, 4
mov esi, 0xc
add edi, 2
jmp 0x5297f4
lea eax, [esp + 0x28]
push 8
push eax
push ecx
call dword [ebp + 0x290]
add esp, 0xc
cmp eax, 8
je 0x5297d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov al, byte [ebp + 0xc]
test al, al
jns 0x5297e4
lea edx, [esp + 0x28]
push edx
call fcn.00530aa0
add esp, 4
mov eax, dword [esp + 0x28]
mov esi, 0x14
mov dword [esp + 0x58], eax
add edi, 8
adc ebx, 0
cmp word [esp + 0x58], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
jbe 0x529864
mov edx, dword [ebp + 0x28c]
lea ecx, [esp + 0x40]
push esi
push ecx
push edx
call dword [ebp + 0x290]
add esp, 0xc
cmp eax, esi
jne 0x52987a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov al, byte [ebp + 0xc]
test al, al
jns 0x529841
lea ecx, [esp + 0x10]
push ecx
call fcn.00530a70
add esp, 4
mov dx, word [esp + 0x10]
cmp dx, word [esp + 0x5c]
je 0x52988c
mov eax, esi
cdq
add edi, eax
adc ebx, edx
cmp word [esp + 0x58], 0
ja 0x52980b
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
mov ax, word [esp + 0x10]
cmp ax, word [esp + 0x5c]
je 0x529894
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov dword [esp + 0x28], edi
pop edi
pop esi
mov dword [esp + 0x24], ebx
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
mov al, byte [ebp + 0xc]
mov ecx, dword [esp + 0x42]
test al, al
mov dword [esp + 0x14], ecx
jns 0x5298b0
lea edx, [esp + 0x14]
push edx
call fcn.00530a70
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
test eax, 0x80000
jne 0x529911
test al, al
mov dword [esp + 0x5c], ecx
jns 0x5298d3
lea edx, [esp + 0x5c]
push edx
call fcn.00530a80
add esp, 4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov al, byte [ebp + 0xc]
test al, al
mov dword [esp + 0x34], 0
mov dword [esp + 0x5c], ecx
jns 0x5298ff
lea edx, [esp + 0x5c]
push edx
call fcn.00530a80
add esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x529952
mov edx, dword [esp + 0x48]
mov dword [esp + 0x30], ecx
test al, al
mov dword [esp + 0x34], edx
jns 0x52992e
lea eax, [esp + 0x30]
push eax
call fcn.00530aa0
add esp, 4
mov al, byte [ebp + 0xc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
test al, al
mov dword [esp + 0x24], edx
jns 0x529952
lea eax, [esp + 0x20]
push eax
call fcn.00530aa0
add esp, 4
mov esi, dword [esp + 0x60]
push esi
call fcn.00529f00
add esp, 4
cmp eax, 8
jne 0x52998f
test dword [ebp + 0xc], 0x80000
jne 0x52998f
cmp esi, 0x10
jne 0x529979
mov ebx, 4
jmp 0x529991
cmp esi, 0x11
jne 0x529985
mov ebx, 9
jmp 0x529991
cmp esi, 0x12
mov ebx, 0xd
je 0x529991
mov ebx, esi
push ebx
call fcn.00529f00
mov ecx, dword [esp + 0x68]
push eax
push ecx
push ebp
call fcn.00519a00
mov edi, eax
add esp, 0x10
test edi, edi
mov dword [esp + 0x5c], edi
jne 0x5299b8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
cmp ebx, esi
jne 0x5299eb
push ebx
call fcn.00529f00
mov ecx, eax
mov esi, dword [esp + 0x6c]
imul ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x60]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x5c]
jmp 0x529a70
cmp ebx, 9
jne 0x529a28
cmp esi, 0x11
jne 0x529a70
mov eax, dword [esp + 0x64]
xor ecx, ecx
test eax, eax
jle 0x529a70
mov esi, dword [esp + 0x68]
mov eax, dword [esi + ecx*8]
mov dword [edi + ecx*4], eax
cdq
cmp eax, dword [esi + ecx*8]
jne 0x529b6e
cmp edx, dword [esi + ecx*8 + 4]
jne 0x529b6e
mov eax, dword [esp + 0x64]
inc ecx
cmp ecx, eax
jl 0x529a03
jmp 0x529a70
cmp ebx, 4
jne 0x529a34
cmp esi, 0x10
je 0x529a3e
jmp 0x529a70
cmp ebx, 0xd
jne 0x529a70
cmp esi, 0x12
jne 0x529a70
mov ecx, dword [esp + 0x64]
xor eax, eax
test ecx, ecx
jle 0x529a70
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + eax*8]
xor esi, esi
mov dword [edi + eax*4], ecx
cmp ecx, dword [edx + eax*8]
jne 0x529b6e
cmp esi, dword [edx + eax*8 + 4]
jne 0x529b6e
mov ecx, dword [esp + 0x64]
inc eax
cmp eax, ecx
jl 0x529a4c
push ebx
call fcn.00529f00
add esp, 4
cmp eax, 1
jle 0x529ad7
mov al, byte [ebp + 0xc]
test al, al
jns 0x529ad7
push ebx
call fcn.00529f00
add esp, 4
cmp eax, 2
jne 0x529aa0
mov eax, dword [esp + 0x64]
push eax
push edi
call fcn.00530ae0
jmp 0x529ad4
push ebx
call fcn.00529f00
add esp, 4
cmp eax, 4
jne 0x529abb
mov ecx, dword [esp + 0x64]
push ecx
push edi
call fcn.00530b20
jmp 0x529ad4
push ebx
call fcn.00529f00
add esp, 4
cmp eax, 8
jne 0x529ad7
mov edx, dword [esp + 0x64]
push edx
push edi
call fcn.00530b50
add esp, 8
mov eax, dword [ebp + 0xc]
push ebx
test eax, 0x80000
jne 0x529afd
call fcn.00529f00
imul eax, dword [esp + 0x68]
add esp, 4
cmp eax, 4
jg 0x529b2f
mov esi, dword [esp + 0x28]
add esi, 8
jmp 0x529b16
call fcn.00529f00
imul eax, dword [esp + 0x68]
add esp, 4
cmp eax, 8
jg 0x529b2f
mov esi, dword [esp + 0x28]
add esi, 0xc
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
adc ecx, 0
mov dword [esp + 0x18], 1
mov dword [esp + 0x24], ecx
jmp 0x529b37
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
cdq
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x30]
cmp edx, eax
jne 0x529bd7
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
cmp eax, edx
jne 0x529bd7
cmp word [esp + 0x14], bx
jne 0x529bd7
push ecx
push esi
push ebp
call fcn.0051a0e0
add esp, 0xc
test eax, eax
jne 0x529b81
push edi
call fcn.0051e490
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push ebx
call fcn.00529f00
mov esi, dword [esp + 0x68]
mov ecx, dword [ebp + 0x28c]
imul eax, esi
push eax
push edi
push ecx
call dword [ebp + 0x294]
push ebx
mov ebp, eax
call fcn.00529f00
imul eax, esi
add esp, 0x14
cmp ebp, eax
push edi
je 0x529bc2
call fcn.0051e490
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
call fcn.0051e490
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x529c3e
mov edx, dword [ebp + 0x28c]
push 2
push 0
push 0
push edx
call dword [ebp + 0x298]
push ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
call fcn.00529f00
imul eax, dword [esp + 0x78]
push eax
mov eax, dword [ebp + 0x28c]
push edi
push eax
call dword [ebp + 0x294]
push ebx
mov esi, eax
call fcn.00529f00
imul eax, dword [esp + 0x88]
add esp, 0x24
cmp esi, eax
je 0x529c68
push edi
call fcn.0051e490
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push ebx
call fcn.00529f00
mov ecx, eax
mov esi, dword [esp + 0x60]
imul ecx, dword [esp + 0x68]
mov edx, ecx
lea edi, [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x5c]
push edi
call fcn.0051e490
mov al, byte [ebp + 0xc]
add esp, 4
test al, al
mov dword [esp + 0x14], ebx
mov word [esp + 0x42], bx
jns 0x529c8e
lea eax, [esp + 0x42]
push eax
call fcn.00530a70
add esp, 4
mov eax, dword [ebp + 0xc]
test eax, 0x80000
jne 0x529ccc
mov ecx, dword [esp + 0x30]
test al, al
mov dword [esp + 0x44], ecx
jns 0x529cb1
lea edx, [esp + 0x44]
push edx
call fcn.00530a80
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov al, byte [ebp + 0xc]
test al, al
jns 0x529d11
lea ecx, [esp + 0x48]
push ecx
call fcn.00530a80
jmp 0x529d0e
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
test al, al
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
jns 0x529ced
lea edx, [esp + 0x44]
push edx
call fcn.00530aa0
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov al, byte [ebp + 0xc]
test al, al
mov dword [esp + 0x50], ecx
jns 0x529d11
lea edx, [esp + 0x4c]
push edx
call fcn.00530aa0
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push ebp
call fcn.0051a0e0
add esp, 0xc
test eax, eax
jne 0x529d30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x28c]
lea edx, [esp + 0x40]
push esi
push edx
push eax
call dword [ebp + 0x294]
add esp, 0xc
xor ecx, ecx
cmp eax, esi
pop edi
pop esi
sete cl
pop ebp
mov eax, ecx
pop ebx
add esp, 0x44
ret