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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x10149aa2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 0x3c]
push edi
call fcn.100956a0
mov ecx, eax
call fcn.100621d0
xor edi, edi
cmp dword [esi + 0x14], edi
mov dword [esp + 0x34], eax
jle 0x10097e5d
mov eax, dword [esi + 0xc]
lea ebx, [eax + edi]
cmp ebx, dword [esi + 8]
lea ecx, [esp + 0x2c]
sete byte [esp + 0x27]
call fcn.1009dbc0
mov edx, dword [esi + 4]
cmp ebx, dword [edx + 4]
lea ecx, [esi + 4]
mov dword [esp + 0xbc], 0
jge 0x10097e49
mov eax, edx
cmp dword [eax], 1
jle 0x10097ce1
call fcn.100a8d20
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4 + 0x10]
push edx
lea ecx, [esp + 0x30]
call fcn.1009e420
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.10097ba0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x10]
mov eax, dword [edx]
sub eax, ecx
jns 0x10097d0d
mov ecx, eax
push ecx
push 0
lea ecx, [esp + 0x34]
call fcn.1009f410
mov eax, dword [esi + 0x4a]
lea ecx, [edi + 1]
mov edx, eax
imul eax, edi
imul edx, ecx
mov dword [esp + 0x38], edx
sub esp, 0x20
mov dword [esp + 0x5c], ecx
fild dword [esp + 0x58]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x80]
fadd qword [esi + 0x24]
fstp qword [esp + 0x18]
fld qword [esi + 0x2c]
fstp qword [esp + 0x10]
fild dword [esp + 0x58]
fadd qword [esi + 0x24]
fstp qword [esp + 8]
fld qword [esi + 0x1c]
fstp qword [esp]
call fcn.100b59c0
fld qword [esi + 0x34]
fcomp qword [esp + 0x78]
fnstsw ax
test ah, 5
jp 0x10097d7a
fld qword [esi + 0x34]
fstp qword [esp + 0x78]
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
mov edx, dword [eax + 0x14]
mov ecx, edi
call edx
lea ecx, [esp + 0x30]
add ebx, eax
call fcn.1009dbc0
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x30]
push ecx
push ebx
mov ecx, edi
mov byte [esp + 0xc4], 1
call edx
cmp byte [esp + 0x27], 0
je 0x10097dc9
movzx ecx, byte [esi + 0x40]
mov dl, byte [esi + 0x41]
mov byte [esp + 0x28], cl
movzx ecx, byte [esi + 0x42]
mov byte [esp + 0x29], dl
mov byte [esp + 0x2a], cl
jmp 0x10097de9
movzx edx, byte [0x101952dc]
mov cl, byte [0x101952dd]
mov byte [esp + 0x28], dl
movzx edx, byte [0x101952de]
mov byte [esp + 0x29], cl
mov byte [esp + 0x2a], dl
cmp byte [esi + 0x52], 0
je 0x10097df4
add ebx, 1
jmp 0x10097df7
or ebx, 0xffffffff
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x38]
push eax
push ebx
push ecx
mov ecx, esi
call edx
lea ecx, [esp + 0x30]
mov byte [esp + 0xbc], 0
call fcn.1009dbf0
lea ecx, [esp + 0x2c]
mov dword [esp + 0xbc], 0xffffffff
call fcn.1009dbf0
mov edi, dword [esp + 0x3c]
cmp edi, dword [esi + 0x14]
jl 0x10097ca4
jmp 0x10097e5d
lea ecx, [esp + 0x2c]
mov dword [esp + 0xbc], 0xffffffff
call fcn.1009dbf0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
lea eax, [esi + 0x1c]
push eax
lea ecx, [esp + 0x44]
call fcn.100b5a10
mov ecx, dword [esi + 0x4a]
imul ecx, edi
mov dword [esp + 0x3c], ecx
fild dword [esp + 0x3c]
fadd qword [esp + 0x48]
fst qword [esp + 0x48]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 5
jp 0x10097eda
lea ecx, [esp + 0x3c]
call fcn.1009dbc0
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
push 0
push 0x101952dc
lea ecx, [esp + 0x48]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0
push eax
mov ecx, esi
mov dword [esp + 0xd4], 2
call edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xbc], 0xffffffff
call fcn.1009dbf0
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4