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

Disassembly:
mov al, byte [esi + 0x3dc]
jmp 0x436555
sub esp, 0x64
push esi
mov esi, dword [esp + 0x6c]
push edi
push esi
call fcn.00422590
nop
jmp 0x401284
add esp, 4
test al, 1
jne 0x436a81
movsx eax, byte [esi + 0x3bb]
dec eax
je 0x436a19
sub eax, 0xb
je 0x4369d7
sub eax, 0xc
je 0x436a19
push esi
call fcn.00434790
mov ecx, dword [esi + 0x3a0]
mov eax, dword [esi + 0x39c]
add eax, ecx
mov ecx, dword [0xb7cb84]
cdq
xor edi, edi
add esp, 4
cmp edi, edx
jl 0x4365b9
jg 0x4365aa
cmp ecx, eax
jb 0x4365b9
push esi
call fcn.00432b10
mov ecx, dword [0xb7cb84]
add esp, 4
mov al, byte [esi + 0x36]
and al, 0xf8
cmp al, 0x18
je 0x436a81
sub ecx, dword [esi + 0x39c]
test ecx, ecx
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
jge 0x4365de
fadd dword [0x858c54]
fidiv dword [esi + 0x3a0]
mov cx, word [esi + 0x3a4]
movsx edx, byte [esi + 0x3b5]
mov dword [esp + 0x70], edx
movzx eax, cx
mov edx, eax
and eax, 0x3ff
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx edi, byte [esi + 0x3b6]
imul eax, eax, 0xe
fstp dword [esp + 0x20]
fild dword [esp + 0x70]
movsx eax, byte [edx + eax + 8]
mov dword [esp + 0x70], eax
movzx eax, cx
fild dword [esp + 0x70]
mov edx, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, byte [edx + eax + 9]
mov dx, word [esi + 0x3a6]
mov dword [esp + 0x70], eax
movzx eax, dx
movzx ecx, cx
fmul st(1)
fstp dword [esp + 0x14]
fild dword [esp + 0x70]
mov dword [esp + 0x70], edi
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
fmul st(1)
movsx eax, byte [edi + eax + 8]
fstp dword [esp + 0x18]
fstp st(0)
fild dword [esp + 0x70]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
movzx eax, dx
mov edx, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, byte [edx + eax + 9]
mov dword [esp + 0x70], eax
fmul st(1)
mov edx, ecx
and ecx, 0x3ff
imul ecx, ecx, 0xe
fstp dword [esp + 0xc]
fild dword [esp + 0x70]
fmul dword [0x858c58]
shr edx, 0xa
mov eax, dword [edx*4 + 0x96f974]
fmul st(1)
add ecx, eax
fstp dword [esp + 0x10]
fstp st(0)
call fcn.0044db00
movsx eax, byte [esi + 0x3b7]
movzx ecx, word [esi + 0x3a6]
mov dword [esp + 0x70], eax
mov edx, ecx
fiadd dword [esp + 0x70]
fmul dword [0x858c50]
fstp dword [esp + 8]
and ecx, 0x3ff
imul ecx, ecx, 0xe
shr edx, 0xa
add ecx, dword [edx*4 + 0x96f974]
call fcn.0044db00
movsx eax, byte [esi + 0x3b8]
mov dword [esp + 0x70], eax
cmp dword [esi + 0x594], 0xa
fiadd dword [esp + 0x70]
fmul dword [0x858c50]
fstp dword [esp + 0x70]
jne 0x43676f
fld dword [esp + 8]
fadd dword [0x859010]
fstp dword [esp + 8]
fld dword [esp + 0x70]
fadd dword [0x859010]
fstp dword [esp + 0x70]
movzx eax, word [esi + 0x20]
movzx ecx, word [esi + 0x3a4]
lea edx, [eax + ecx]
add ecx, eax
and edx, 7
sar ecx, 3
sub edx, 3
mov dword [esp + 0x1c], edx
and ecx, 7
sub ecx, 3
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
movzx ecx, word [esi + 0x3a6]
fmul dword [0x859048]
fild dword [esp + 0x1c]
lea edx, [eax + ecx]
and edx, 7
sub edx, 3
fmul dword [0x859048]
add eax, ecx
mov dword [esp + 0x1c], edx
sar eax, 3
and eax, 7
fild dword [esp + 0x1c]
sub eax, 3
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x3c]
fmul dword [0x859048]
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], 0
fstp dword [esp + 0x30]
fild dword [esp + 0x1c]
fmul dword [0x859048]
fstp dword [esp + 0x34]
fxch st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x3c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x40]
fld dword [esp + 0x30]
fadd dword [esp + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fadd dword [esp + 0x10]
fstp dword [esp + 0x34]
call fcn.0059c910
lea ecx, [esp + 0x30]
call fcn.0059c910
mov cx, word [esi + 0x3a6]
movzx eax, cx
mov edx, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, word [edx + eax + 2]
mov dword [esp + 0x1c], eax
movzx eax, cx
fild dword [esp + 0x1c]
mov ecx, eax
shr ecx, 0xa
fmul dword [0x858c48]
mov edx, dword [ecx*4 + 0x96f974]
fld dword [esp + 0x70]
and eax, 0x3ff
fmul dword [esp + 0xc]
imul eax, eax, 0xe
movsx eax, word [edx + eax]
mov cx, word [esi + 0x3a4]
mov dword [esp + 0x1c], eax
fsubp st(1)
mov dword [esp + 0x50], 0
fild dword [esp + 0x1c]
fmul dword [0x858c48]
fld dword [esp + 0x70]
fmul dword [esp + 0x10]
faddp st(1)
fstp dword [esp + 0x48]
fstp dword [esp + 0x4c]
movzx eax, cx
mov edx, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, word [edx + eax + 2]
mov dword [esp + 0x70], eax
movzx eax, cx
fild dword [esp + 0x70]
mov ecx, eax
and eax, 0x3ff
fmul dword [0x858c48]
imul eax, eax, 0xe
fld dword [esp + 8]
fmul dword [esp + 0x14]
shr ecx, 0xa
mov edx, dword [ecx*4 + 0x96f974]
movsx eax, word [edx + eax]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x3a0]
lea ecx, [esp + 0x24]
fsubp st(1)
push ecx
fild dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x64]
push edx
fmul dword [0x858c48]
push eax
fld dword [esp + 0x14]
push ecx
fmul dword [esp + 0x28]
lea edx, [esp + 0x40]
push edx
faddp st(1)
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x60]
fstp dword [esp + 0x6c]
push ecx
lea edx, [esp + 0x70]
push edx
fstp dword [esp + 0x78]
mov dword [esp + 0x7c], 0
call fcn.0043c900
lea eax, [esp + 0x80]
push eax
push esi
mov dword [esp + 0x90], 0x41700000
call fcn.0042ec90
fld dword [esp + 0x4c]
fmul dword [0x859044]
mov cx, word [esi + 0x3a4]
add esp, 0x28
cmp cx, word [esi + 0x3a6]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul dword [0x859044]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x859044]
fstp dword [esp + 0x2c]
je 0x436a81
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
add esi, 0x44
mov dword [esi], edx
mov dword [esi + 4], eax
pop edi
mov dword [esi + 8], ecx
pop esi
add esp, 0x64
ret
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
lea edx, [esi + 0x44]
mov dword [edx], eax
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x34]
mov dword [edx + 4], ecx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
push 0
lea ecx, [esi + 0x390]
mov dword [edx + 8], eax
call fcn.0041b980
pop edi
pop esi
add esp, 0x64
ret
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
lea ecx, [esi + 0x44]
mov dword [ecx], edx
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 8], edx
push 0
lea ecx, [esi + 0x390]
call fcn.0041b980
mov eax, dword [0xb7cb84]
cmp eax, dword [esi + 0x3bc]
jbe 0x436a81
mov byte [esi + 0x3bb], 0
mov ecx, dword [0xb7cb84]
mov dword [esi + 0x3ac], ecx
mov edx, dword [0xb7cb84]
mov dword [esi + 0x3b0], edx
pop edi
pop esi
add esp, 0x64
ret