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

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x30]
push esi
mov esi, ecx
push edi
test ebx, ebx
je 0x533a7e
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x533a7e
cmp byte [esi + 0xc], 0
push ebp
je 0x533781
cmp byte [esi + 0xd], 0
je 0x533a60
lea ecx, [esi + 0x10]
mov byte [esi + 0xd], 0
push 0x100000
call fcn.0041366f
test al, al
je 0x533a6f
push 0x100000
lea ecx, [esi + 0x40]
call fcn.0040ff7f
test al, al
je 0x533a6f
mov eax, dword [ebx]
xorps xmm0, xmm0
mov ecx, dword [ebx + 4]
mov dword [esi + 0x2c88], eax
mov dword [esi + 0x2c8c], ecx
lea ecx, [esi + 0x10]
mov eax, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x24], eax
movzx eax, byte [esi + 0xc]
push eax
movlpd qword [esp + 0x1c], xmm0
mov dword [esp + 0x40], ebp
call fcn.0052eff0
mov eax, dword [esp + 0x34]
lea ecx, [esi + 0x40]
mov dword [esi + 0x4c], eax
call fcn.0040ffcb
mov dword [esi + 0x38], 0x20
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
jb 0x53381b
lea ecx, [esi + 0x40]
call fcn.00410050
mov dl, al
jmp 0x533821
mov dl, byte [eax]
inc eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x3c]
add dword [esi + 0x38], 0xfffffff8
shl ecx, 8
movzx eax, dl
or ecx, eax
cmp dword [esi + 0x38], 8
mov dword [esi + 0x3c], ecx
jae 0x533807
cmp byte [esi + 0xc], 0
jne 0x5338e4
push 0x178
lea eax, [esi + 0x2c90]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x404
lea eax, [esi + 0x2e08]
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 0
push 0
push eax
mov dword [esi + 0x68], 0
mov dword [esi + 0x7c], 0
call sub.msvcrt.dll_memset
mov eax, ebp
add esp, 0x18
or eax, dword [esp + 0x40]
jne 0x5338dd
lea ecx, [esi + 0x38]
call fcn.0048bc84
add eax, 2
adc edx, 0
cmp edx, dword [esi + 0x2c8c]
ja 0x5338cd
jb 0x5338be
cmp eax, dword [esi + 0x2c88]
ja 0x5338cd
mov ecx, esi
call fcn.005348e0
test al, al
je 0x533a60
mov byte [esi + 0xd], 1
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x14
mov ecx, esi
call fcn.005348e0
cmp byte [esi + 0xe], 0
je 0x533a60
lea ecx, [esi + 0x10]
call fcn.0041378c
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov edx, ebp
cmp ebx, eax
ja 0x533a60
jb 0x533920
cmp edi, edx
jae 0x533a35
nop
mov ecx, edx
mov ebp, 0x100000
sub ecx, edi
sbb eax, ebx
jne 0x533937
jb 0x533933
cmp ecx, ebp
jae 0x533937
mov ebp, edx
sub ebp, edi
lea ecx, [esi + 0x10]
call fcn.0041378c
cmp byte [esi + 0xf], 0
mov ecx, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
push ebp
je 0x533957
call fcn.00534430
jmp 0x53395c
call fcn.00533df0
test al, al
je 0x533a60
mov eax, dword [esi + 0x60]
cmp eax, 4
ja 0x533a60
mov ecx, 0x20
shl eax, 3
sub ecx, dword [esi + 0x38]
cmp ecx, eax
jb 0x533a60
lea ecx, [esi + 0x10]
call fcn.0041378c
mov edi, eax
mov ebx, edx
sub eax, dword [esp + 0x38]
mov ecx, ebx
mov dword [esp + 0x18], eax
sbb ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
test ecx, ecx
ja 0x5339ba
jb 0x5339ab
cmp eax, ebp
jae 0x5339ba
mov ecx, esi
call fcn.005348e0
test al, al
je 0x533a60
sub edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x44]
sbb ebx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
test ebp, ebp
je 0x533a1e
mov edx, dword [esi + 0x40]
xor ecx, ecx
sub edx, dword [esi + 0x48]
mov eax, 0x20
sub eax, dword [esi + 0x38]
shr eax, 3
sub edx, eax
mov eax, dword [ebp]
sbb ecx, ecx
add edx, dword [esi + 0x60]
adc ecx, 0
add edx, dword [esi + 0x50]
mov dword [esp + 0x20], edx
adc ecx, dword [esi + 0x54]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push ebp
call dword [eax + 0xc]
test eax, eax
jne 0x5338d3
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
cmp ebx, eax
ja 0x533a60
jae 0x533916
jmp 0x533920
cmp ebx, eax
ja 0x533a60
jb 0x533a3f
cmp edi, edx
ja 0x533a60
mov ecx, esi
call fcn.00534680
test al, al
je 0x533a60
lea ecx, [esi + 0x10]
mov byte [esi + 0xd], 1
call fcn.004136ac
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x14
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x14
pop ebp
pop edi
pop esi
mov eax, 0x8007000e
pop ebx
add esp, 0x20
ret 0x14
pop edi
pop esi
mov eax, 0x80070057
pop ebx
add esp, 0x20
ret 0x14