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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
push 0
push 1
push 0x739904
push edi
push ebx
call fcn.005da800
add esp, 0x14
mov byte [esp + 0x10], al
test al, al
mov dword [esp + 4], ebx
jne 0x534159
xor esi, esi
inc esi
push 0
push 1
push 0x739902
push edi
push ebx
call fcn.005da800
add esp, 0x14
test al, al
jne 0x534149
mov eax, dword [ebp + 8]
cmp edi, 3
je 0x533d8a
cmp edi, 1
je 0x53416a
test edi, edi
je 0x533ebf
mov dword [esp + 0x4c], esi
cvtsi2sd xmm0, esi
movsd qword [esp + 0x50], xmm0
xor esi, esi
xor ebx, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 4]
lea eax, [esi + edi]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edi
lea eax, [edi - 1]
mov dword [esp + 0x20], eax
xor edx, edx
xor ecx, ecx
xor edi, edi
movsx ebx, byte [esi + edx]
mov eax, ebx
add al, 0xc6
cmp al, 0xf6
jb 0x533db2
mov dword [esp + 0x2c], edx
mov eax, 0xcccccccc
cmp eax, ecx
mov eax, 0xccccccc
sbb eax, edi
jl 0x533ebc
mov eax, ecx
mov edx, 0xa
mul edx
add ebx, 0xffffffd0
lea esi, [edi + edi*4]
lea ecx, [edx + esi*2]
mov edx, ebx
xor esi, esi
dec esi
xor edx, esi
cmp edx, eax
mov esi, SysReAllocString
sbb esi, ecx
jl 0x533ebc
mov edi, ecx
mov ecx, eax
add ecx, ebx
adc edi, 0
mov edx, dword [esp + 0x2c]
inc edx
dec dword [esp + 0x20]
cmp dword [esp + 0x10], edx
mov esi, dword [esp + 4]
jne 0x533d19
jmp 0x534183
mov ecx, dword [esp + 4]
movzx edx, word [ecx]
xor dx, word [0x7399a8]
mov cl, byte [ecx + 2]
xor cl, byte [0x7399aa]
movzx ecx, cl
or cx, dx
jne 0x533ce3
jmp 0x534370
mov dword [esp + 0x24], edi
add esi, edx
cmp bl, 0x2e
je 0x534075
test edx, edx
je 0x533ebc
sub dword [esp + 0x10], edx
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov eax, esi
mov dword [esp + 8], eax
mov edi, ecx
mov esi, 2
push 0
push 2
push 0x739cf0
mov ebx, dword [esp + 0x1c]
push ebx
push eax
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ef9
push 0
push 2
push 0x739cf3
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ed0
push 0
push 2
push 0x73914a
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ec9
push 0
push 1
push 0x7398ef
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533f00
push 0
push 1
push 0x7398f3
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ede
push 0
push 1
push 0x7398ed
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ee5
push 0
push 1
push 0x7398f5
push ebx
push dword [esp + 0x18]
call fcn.005da800
add esp, 0x14
test al, al
jne 0x533ed7
mov eax, dword [ebp + 8]
mov byte [eax], 0
xor ecx, ecx
jmp 0x53406a
mov eax, 0x753d88
jmp 0x533f08
mov eax, 0x753d78
jmp 0x533f08
mov eax, 0x753dc8
jmp 0x533f05
mov eax, 0x753da8
jmp 0x533f05
mov eax, 0x753db8
jmp 0x533f05
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
jmp 0x534036
mov eax, 0x753d68
jmp 0x533f08
mov eax, 0x753d98
xor esi, esi
inc esi
sub dword [esp + 0x10], esi
mov ebx, dword [esp + 0x14]
jb 0x534157
mov ecx, edi
mov dword [esp + 0x2c], esi
mov esi, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, edi
mov edi, dword [esp + 0x24]
or eax, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], edx
je 0x533eec
mov ebx, dword [esp + 0x4c]
mov esi, ecx
mov ecx, ebx
sar ecx, 0x1f
mov eax, esi
mul ebx
mov dword [esp + 4], eax
imul ecx, esi
imul edi, ebx
add edi, edx
add edi, ecx
mov ecx, dword [esp + 0x34]
mov eax, ecx
sar eax, 0x1f
mov esi, ecx
xor esi, eax
mov ebx, dword [esp + 0x20]
xor ebx, eax
sub ebx, eax
sbb esi, eax
mov eax, edi
sar eax, 0x1f
xor ecx, edi
xor edi, eax
mov edx, dword [esp + 4]
xor edx, eax
sub edx, eax
mov dword [esp + 4], edx
sbb edi, eax
mov eax, ebx
mul dword [esp + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x24], ecx
mov eax, ecx
shr eax, 0x1f
cmp eax, dword [esp + 4]
mov ecx, 0
sbb ecx, edi
jae 0x533fc6
xor ecx, ecx
dec ecx
add eax, ecx
mov ecx, SysReAllocString
adc ecx, 0
push edi
push dword [esp + 8]
push ecx
push eax
call fcn.006741d0
cmp eax, ebx
sbb edx, esi
jb 0x534202
imul ebx, edi
mov eax, dword [esp + 0x44]
add eax, ebx
imul esi, dword [esp + 4]
add esi, eax
mov eax, dword [esp + 0x48]
mov edi, eax
neg edi
mov ecx, 0
sbb ecx, esi
cmp dword [esp + 0x24], 0
cmovns ecx, esi
cmovns edi, eax
xor edx, edx
dec edx
add edx, edi
mov esi, SysReAllocString
adc esi, ecx
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
mov ebx, dword [esp + 0x14]
jb 0x5341b7
mov esi, dword [esp + 0xc]
add esi, edi
mov eax, dword [esp + 0x30]
adc eax, ecx
seto dl
mov edi, eax
sar edi, 0x1f
lea ecx, [edi - 0x80000000]
test dl, dl
cmove edi, esi
test dl, dl
cmove ecx, eax
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x28]
mov edx, esi
or edx, ebx
jne 0x534227
mov esi, edi
mov ebx, ecx
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x533cf5
mov dword [eax], esi
mov dword [eax + 4], ebx
mov cl, 1
mov byte [eax + 8], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x2c], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x28], 0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x5340e3
mov eax, dword [esp + 0x28]
mov edx, 0xa
mul edx
add ebx, 0xffffffd0
mov edi, dword [esp + 0x14]
add edi, edi
add eax, ebx
mov dword [esp + 0x28], eax
lea edi, [edi + edi*4]
adc edi, edx
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x1c]
mov edx, 0xa
mul edx
mov edi, dword [esp + 0x18]
lea ebx, [edi + edi*4]
lea edx, [edx + ebx*2]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
cmp cl, 0xf5
jbe 0x534129
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
sub eax, 1
mov dword [esp + 0x20], eax
jb 0x534125
mov eax, esi
inc eax
mov esi, eax
movzx ebx, byte [eax]
mov eax, ebx
add al, 0xc6
mov ecx, eax
cmp al, 0xf6
setb al
mov edx, 0xcccccccc
cmp edx, dword [esp + 0x1c]
mov edx, 0xccccccc
sbb edx, dword [esp + 0x18]
setl dl
or dl, al
jne 0x5340de
jmp 0x53409e
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x1c]
xor eax, 1
or eax, dword [esp + 0x18]
or dword [esp + 0x2c], eax
mov eax, esi
mov ecx, dword [esp + 4]
jne 0x533dee
jmp 0x533ebc
test edi, edi
je 0x534157
inc dword [esp + 4]
dec edi
jmp 0x533cc6
ud2
test edi, edi
je 0x534157
inc dword [esp + 4]
dec edi
xor esi, esi
dec esi
jmp 0x533cc6
mov ecx, dword [esp + 4]
cmp byte [ecx], 0x30
jne 0x533ce3
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
jmp 0x534068
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 8]
jmp 0x533dee
xor edx, edx
dec edx
add edx, dword [esp + 0xc]
mov esi, SysReAllocString
adc esi, dword [esp + 0x30]
add edx, 2
adc esi, 0
xor eax, eax
xor ebx, ebx
inc ebx
cmp ebx, edx
sbb eax, esi
jae 0x5341e4
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
jmp 0x534039
mov edx, dword [esp + 0xc]
xor edx, edi
mov eax, dword [esp + 0x30]
xor eax, ecx
or eax, edx
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
je 0x534039
int3
xor eax, eax
dec eax
mov edi, eax
add edi, 1
mov ecx, SysReAllocString
adc ecx, 0
cmp dword [esp + 0x24], 0
cmovns edi, eax
mov eax, SysReAllocString
cmovns ecx, eax
jmp 0x533ff0
movd xmm0, esi
movd xmm1, ebx
movss xmm2, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
punpckldq xmm0, xmm1
movq qword [esp + 0x80], xmm0
fild qword [esp + 0x80]
fstp qword [esp + 0x78]
movsd xmm0, qword [esp + 0x78]
mulsd xmm0, qword [esp + 0x50]
unpcklps xmm2, xmm3
movlps qword [esp + 0x70], xmm2
fild qword [esp + 0x70]
fstp qword [esp + 0x68]
divsd xmm0, qword [esp + 0x68]
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x34]
unpcklps xmm1, xmm2
movlps qword [esp + 0x60], xmm1
fild qword [esp + 0x60]
fstp qword [esp + 0x58]
mulsd xmm0, qword [esp + 0x58]
xor ebx, ebx
movsd xmm1, qword [0x738338]
ucomisd xmm0, xmm1
mov eax, 0xffffffff
cmovb eax, ebx
mov dword [esp + 0xc], eax
mov eax, SysReAllocString
cmovae ebx, eax
movsd xmm2, qword [0x738340]
ucomisd xmm2, xmm0
maxsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
jb 0x5342e5
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
xor edx, edx
dec edx
add edx, dword [esp + 0xc]
mov esi, SysReAllocString
adc esi, ebx
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
jb 0x534327
add edi, dword [esp + 0xc]
adc ecx, ebx
seto dl
mov esi, ecx
sar esi, 0x1f
lea ebx, [esi - 0x80000000]
test dl, dl
cmove esi, edi
test dl, dl
cmove ebx, ecx
mov eax, dword [ebp + 8]
jmp 0x53404b
xor edx, edx
dec edx
add edx, edi
mov esi, SysReAllocString
adc esi, ecx
add edx, 2
adc esi, 0
xor edi, dword [esp + 0xc]
xor ecx, ebx
or ecx, edi
jne 0x534353
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x53404f
xor eax, eax
xor ecx, ecx
inc ecx
cmp ecx, edx
sbb eax, esi
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jb 0x53404f
int3
xor esi, esi
xor ecx, ecx
dec ecx
mov edx, ecx
add edx, 1
adc esi, 0x7fffffff
cmp byte [esp + 0x10], 0
cmove edx, ecx
mov ecx, SysReAllocString
cmovne ecx, esi
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x534068