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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x100df75
cmp dword [ebp + 0xc], 0
jne 0x100df75
cmp dword [esi + 0x20], 0
push ebx
mov ebx, dword [fcn.01001220]
je 0x100dd18
fld qword [0x101c628]
sub esp, 8
fmul qword [0x1001610]
fstp qword [esp]
push 0x1002190
call ebx
add esp, 0xc
push esi
call fcn.0100d3e0
xor ecx, ecx
mov dword [ebp + 8], eax
mov dword [ebp - 4], ecx
test eax, eax
je 0x100dd74
jmp 0x100dd36
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp ecx, dword [esi + 4]
jae 0x100dd74
mov edx, dword [esi + 8]
mov ecx, dword [edx + ecx*4]
lea ecx, [ecx + ecx*4]
mov edi, dword [ecx*4 + 0x101c9dc]
inc edi
cmp eax, edi
jae 0x100dd52
mov edi, eax
push edi
push 0x2d
call fcn.0100c210
push eax
push 0x1001574
call ebx
mov eax, dword [ebp + 8]
inc dword [ebp - 4]
sub eax, edi
add esp, 8
mov dword [ebp + 8], eax
test eax, eax
jne 0x100dd30
push 0x1001570
call ebx
push 0x1001570
call ebx
mov edx, dword [esi + 0x38]
push edx
push 0x1002154
call ebx
add esp, 0x10
test byte [esi], 2
je 0x100dda6
mov eax, dword [esi + 0x34]
add eax, dword [esi + 0x30]
push eax
push 0x100212c
call ebx
add esp, 8
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
push ecx
push edx
push 0x10020d0
call ebx
push 0x1001570
call ebx
add esp, 0x10
test byte [esi], 2
je 0x100df74
mov eax, dword [esi + 0x44]
push eax
push 0x10020b0
call ebx
fild dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
add esp, 8
test ecx, ecx
jge 0x100dde6
fadd qword [0x1001618]
mov edx, dword [esi + 0x48]
fild dword [esi + 0x48]
test edx, edx
jge 0x100ddf6
fadd qword [0x1001618]
test byte [esi], 4
fdiv st(1)
fld qword [0x1001610]
fmul st(1), st(0)
fxch st(1)
fst qword [ebp - 0xc]
jne 0x100de55
fstp st(2)
sub esp, 8
mov eax, ecx
fxch st(1)
fstp qword [esp]
sub eax, edx
push edx
mov edx, eax
mov dword [ebp + 8], edx
fild dword [ebp + 8]
test edx, edx
jge 0x100de2b
fadd qword [0x1001618]
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
test ecx, ecx
jge 0x100de3b
fadd qword [0x1001618]
fdivp st(1)
sub esp, 8
fmulp st(1)
fstp qword [esp]
push eax
push 0x1002058
call ebx
add esp, 0x1c
jmp 0x100df3d
mov eax, dword [esi + 0x58]
fstp st(0)
mov ecx, eax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
test ecx, ecx
jge 0x100de6c
fadd qword [0x1001618]
fdivrp st(2)
sub esp, 8
fmulp st(1)
fstp qword [esp]
push eax
push 0x100202c
call ebx
mov eax, dword [esi + 0x54]
add eax, dword [esi + 0x50]
add eax, dword [esi + 0x4c]
mov edx, eax
mov dword [ebp + 8], edx
fild dword [ebp + 8]
test edx, edx
jge 0x100de99
fadd qword [0x1001618]
mov ecx, dword [esi + 0x44]
fild dword [esi + 0x44]
test ecx, ecx
jge 0x100dea9
fadd qword [0x1001618]
fdivp st(1)
add esp, 8
fmul qword [0x1001610]
fstp qword [esp]
push eax
push 0x1001ffc
call ebx
add esp, 0x10
cmp dword [esi + 0x1c], 0
je 0x100df0b
cmp dword [esi + 0x38], 1
jbe 0x100df0b
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x44]
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
mov dword [ebp - 4], eax
fiadd dword [ebp - 4]
fild dword [esi + 0x44]
test edx, edx
jge 0x100def0
fadd qword [0x1001618]
fdivp st(1)
sub esp, 8
add ecx, eax
fmul qword [0x1001610]
fstp qword [esp]
push ecx
push 0x1001fd0
call ebx
add esp, 0x10
fld qword [ebp - 0xc]
mov eax, dword [esi + 0x48]
sub esp, 8
fstp qword [esp]
push eax
push 0x1001f9c
call ebx
push 0x1001570
call ebx
mov eax, dword [esi + 0x7c]
add esp, 0x14
test eax, eax
je 0x100df3d
neg eax
push eax
push 0x1001f58
call ebx
add esp, 8
mov eax, dword [esi + 0x24]
mul dword [esi + 0x44]
test edx, edx
jl 0x100df6a
jg 0x100df50
cmp eax, 0x6400000
jbe 0x100df6a
fld qword [0x1001f50]
fcomp qword [ebp - 0xc]
fnstsw ax
test ah, 5
jp 0x100df6a
push 0x1001e78
call ebx
add esp, 4
push 0x1001570
call ebx
add esp, 4
pop ebx
cmp dword [esi + 0x1c], 0
je 0x100df93
cmp dword [ebp + 0xc], 0
jne 0x100df93
mov eax, dword [esi + 0x78]
add eax, dword [esi + 0x60]
neg eax
sbb eax, eax
and eax, 0xfffffb4a
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
mov edi, dword [0x100120c]
test eax, eax
je 0x100dfa6
push eax
call edi
add esp, 4
push esi
call edi
mov eax, dword [ebp + 0xc]
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8