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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
movsx eax, byte [ecx + 0xac]
sub eax, 1
imul eax, eax, 0xe
movsx eax, word [ecx + eax + 0xb3]
test eax, eax
jle 0x535b8e
cmp eax, dword [0x5b504c]
jg 0x535b8e
sub eax, 1
imul eax, dword [0x5b5050]
mov edx, dword [0x5b5059]
mov ebx, ecx
mov ebp, dword [edx + eax]
xor eax, eax
xor edx, edx
mov byte [0x5c9eed], 0
mov word [0x5c9eeb], ax
movsx ax, byte [ecx + 0x25]
mov word [0x5c9ee8], dx
mov byte [0x5c9eea], 0
cmp word [ebp + 0xf], ax
jne 0x535965
mov dword [esp + 0x10], 0
lea edi, [ebp + 0x102]
xor edx, edx
mov dword [esp + 0x14], edi
mov esi, edi
mov edi, edx
movsx eax, byte [esi]
test al, al
je 0x535970
fld dword [esi + 4]
lea edx, [eax - 1]
movzx eax, word [ebx + eax*2 + 0xe3]
fstp dword [esp + 0x2c]
fld dword [ebp + 0xfe]
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x30]
fcomi st(1)
jbe 0x535a30
test ax, ax
je 0x535a90
mov word [esp + 0x18], ax
fild word [esp + 0x18]
fstp dword [esp + 0x34]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fld dword [esp + 0x38]
fcomi st(1)
fstp st(1)
ja 0x535820
fnstcw word [esp + 0x1e]
movzx ecx, word [esp + 0x1e]
or ch, 0xc
mov word [esp + 0x1c], cx
fldcw word [esp + 0x1c]
fistp word [esp + 0x18]
fldcw word [esp + 0x1e]
fild word [esp + 0x18]
fstp dword [esp + 0x34]
jmp 0x535822
fstp st(0)
fadd dword [esp + 0x34]
sub ax, word [esp + 0x18]
mov word [ebx + edx*2 + 0xe5], ax
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esi + 4]
add byte [edx + 0x5c9eeb], 2
jmp 0x535868
fstp st(0)
jmp 0x535868
fstp st(0)
jmp 0x535868
fstp st(0)
jmp 0x535868
fstp st(0)
lea esi, [esi]
add edi, 1
add esi, 0x24
cmp edi, 3
jne 0x53578e
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x535965
mov ecx, ebx
xor esi, esi
mov edx, 0x1e
mov ebx, eax
fld dword [edi + 4]
fstp dword [esp + 0x54]
fldz
fld dword [esp + 0x54]
fucompi st(1)
jp 0x535946
jne 0x535950
fld dword [edi + 0xc]
mov eax, edx
sub eax, dword [0x5b4648]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x88]
fild dword [esp + 0x10]
fstp dword [esp + 0x8c]
fld dword [esp + 0x88]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x90]
fld dword [0x5ab220]
fdivr dword [esp + 0x90]
fstp dword [esp + 0x94]
fld dword [edi + 8]
fstp dword [esp + 0x98]
fld dword [esp + 0x94]
fadd dword [esp + 0x98]
fstp dword [esp + 0x9c]
fld dword [esp + 0x9c]
fucompi st(1)
fstp st(0)
jp 0x535952
jne 0x535952
mov dword [esp + 4], esi
sub ebx, 1
mov dword [esp], ebp
mov dword [esp + 0x10], ecx
call fcn.00535430
mov edx, 0x1e
sub esp, 8
mov ecx, dword [esp + 0x10]
jmp 0x535952
fstp st(0)
jmp 0x535952
fstp st(0)
add esi, 1
add edi, 0x24
cmp esi, 2
jg 0x535965
test ebx, ebx
jne 0x535892
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
movsx eax, byte [esi + 1]
test al, al
je 0x535a70
fld dword [esi + 4]
lea edx, [eax - 1]
movzx eax, word [ebx + eax*2 + 0xe9]
fstp dword [esp + 0x40]
fld dword [ebp + 0xfe]
fstp dword [esp + 0x44]
fld dword [esp + 0x40]
fld dword [esp + 0x44]
fcomi st(1)
jbe 0x535a50
test ax, ax
je 0x535b10
mov word [esp + 0x18], ax
fild word [esp + 0x18]
fstp dword [esp + 0x48]
fsub dword [esp + 0x40]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fld dword [esp + 0x4c]
fcomi st(1)
fstp st(1)
ja 0x535a00
fnstcw word [esp + 0x1e]
movzx ecx, word [esp + 0x1e]
or ch, 0xc
mov word [esp + 0x1c], cx
fldcw word [esp + 0x1c]
fistp word [esp + 0x18]
fldcw word [esp + 0x1e]
fild word [esp + 0x18]
fstp dword [esp + 0x48]
jmp 0x535a02
fstp st(0)
fadd dword [esp + 0x48]
sub ax, word [esp + 0x18]
mov word [ebx + edx*2 + 0xeb], ax
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esi + 4]
add byte [edx + 0x5c9ee8], 2
jmp 0x535868
fstp st(0)
fstp st(0)
test ax, ax
je 0x535868
add byte [edx + 0x5c9eeb], 1
jmp 0x535868
fstp st(0)
fstp st(0)
test ax, ax
je 0x535868
add byte [edx + 0x5c9ee8], 1
jmp 0x535868
mov dword [esp + 4], edi
mov ecx, ebx
mov dword [esp], ebp
call fcn.00535430
sub esp, 8
test eax, eax
jne 0x535868
jmp 0x535877
fstp st(0)
fldz
fxch st(1)
fucompi st(1)
jp 0x535847
jne 0x535850
fld dword [esi + 0xc]
mov eax, 0x1e
sub eax, dword [0x5b4648]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x58]
fild dword [esp + 0x18]
fstp dword [esp + 0x5c]
fld dword [esp + 0x58]
fmul dword [esp + 0x5c]
fstp dword [esp + 0x60]
fld dword [0x5ab220]
fdivr dword [esp + 0x60]
fstp dword [esp + 0x64]
fld dword [esi + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x64]
fadd dword [esp + 0x68]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fucompi st(1)
fstp st(0)
jp 0x535868
jne 0x535868
add dword [esp + 0x10], 1
jmp 0x535868
fstp st(0)
fldz
fxch st(1)
fucompi st(1)
jp 0x535854
jne 0x535860
fld dword [esi + 0xc]
mov eax, 0x1e
sub eax, dword [0x5b4648]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x70]
fild dword [esp + 0x18]
fstp dword [esp + 0x74]
fld dword [esp + 0x70]
fmul dword [esp + 0x74]
fstp dword [esp + 0x78]
fld dword [0x5ab220]
fdivr dword [esp + 0x78]
fstp dword [esp + 0x7c]
fld dword [esi + 8]
fstp dword [esp + 0x80]
fld dword [esp + 0x7c]
fadd dword [esp + 0x80]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fucompi st(1)
fstp st(0)
jnp 0x535afd
jmp 0x535868
mov edx, 0x5c9eeb
xor eax, eax
mov ecx, 3
mov edi, edx
mov edx, 0x5c9ee8
rep stosb byte es:[edi], al
mov edi, edx
mov ecx, 3
rep stosb byte es:[edi], al
movzx eax, word [0xf]
ud2