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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x18
push ebx
push ebp
push esi
push edi
xor edi, edi
mov esi, ecx
push edi
call fcn.00424bf5
push eax
call fcn.00424bc6
add esp, 8
call fcn.00424bd3
mov eax, dword [esi + 0x88d9c]
mov ecx, dword [esi + 0x88da8]
mov ebp, dword [esi + 0x88d98]
mov ebx, dword [esi + 0x88da4]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x184]
cmp eax, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edi
jle 0x40337e
jmp 0x40316b
xor edi, edi
mov edx, dword [esi + 0x140]
cmp dword [edx + 4], 1
jne 0x403275
mov eax, dword [esi + 0xfc]
mov dword [esp + 0x18], edi
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x9c]
cmp eax, edi
jle 0x403275
mov eax, dword [esi + 0x100]
cmp dword [eax + 0x1c], edi
jg 0x403237
mov edi, dword [eax + 0x18]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40321c
call fcn.00424bd3
mov dword [esp + 0x20], eax
mov ecx, dword [esi + 0x10c]
fild dword [esp + 0x20]
mov eax, edi
shl eax, 4
fmul qword [0x467a50]
add eax, edi
shl eax, 3
fadd qword [0x467a28]
fmul qword [eax + ecx + 0x38]
fst qword [ebp]
mov edx, dword [esi + 0x10c]
fcom qword [eax + edx + 0x28]
lea ecx, [eax + edx]
fnstsw ax
test ah, 0x41
jne 0x403204
mov eax, dword [ecx + 0x28]
mov dword [ebp], eax
mov ecx, dword [ecx + 0x2c]
fstp st(0)
jmp 0x403234
fcomp qword [ecx + 0x30]
fnstsw ax
test ah, 1
je 0x403237
mov edx, dword [ecx + 0x30]
mov dword [ebp], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp + 4], eax
jmp 0x403237
mov edx, dword [esi + 0x10c]
mov ecx, edi
shl ecx, 4
add ecx, edi
mov eax, dword [edx + ecx*8 + 0x38]
mov dword [ebp], eax
mov ecx, dword [edx + ecx*8 + 0x3c]
mov dword [ebp + 4], ecx
mov eax, dword [esp + 0x14]
xor edi, edi
add ebp, 8
mov dword [eax], edi
mov dword [eax + 4], edi
mov edx, dword [esi + 0x100]
mov ecx, dword [esi + 0x9c]
add eax, 8
add edx, 0x2e0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esi + 0x100], edx
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x403199
mov edx, dword [esi + 0x140]
cmp dword [edx + 8], 1
jne 0x403365
mov eax, dword [esi + 0xfc]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x9c]
test eax, eax
jle 0x403365
mov eax, dword [esp + 0x10]
test eax, eax
je 0x403317
call fcn.00424bd3
mov dword [esp + 0x20], eax
mov ecx, dword [esi + 0x88db0]
fild dword [esp + 0x20]
fmul qword [0x467a30]
fsub qword [0x467a48]
fmul qword [0x467a40]
fadd qword [0x467a38]
fmul qword [ecx + edi*8]
fst qword [esp + 0x20]
fstp qword [ebx]
mov ecx, dword [esi + 0x100]
cmp dword [ecx + 0x78], 1
jne 0x403329
fld qword [esp + 0x20]
fcomp qword [ecx + 0x50]
fnstsw ax
test ah, 0x41
jne 0x4032ff
mov edx, dword [ecx + 0x50]
mov dword [ebx], edx
mov eax, dword [ecx + 0x54]
jmp 0x403326
fld qword [esp + 0x20]
fcomp qword [ecx + 0x58]
fnstsw ax
test ah, 1
je 0x403329
mov edx, dword [ecx + 0x58]
mov dword [ebx], edx
mov eax, dword [ecx + 0x5c]
jmp 0x403326
mov ecx, dword [esi + 0x1e0]
mov edx, dword [ecx + edi*8]
mov dword [ebx], edx
mov eax, dword [ecx + edi*8 + 4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x1c]
add ebx, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [esi + 0x100]
add eax, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x9c]
inc edi
add ecx, 0x2e0
cmp edi, eax
mov dword [esi + 0x100], ecx
jl 0x40329f
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x184]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x403169
xor edi, edi
mov edx, dword [esi + 0x184]
mov eax, dword [esi + 0x210]
xor ecx, ecx
cmp edx, edi
jl 0x4033ac
mov edx, 0x4202a05f
mov dword [eax], 0x20000000
mov dword [eax + 4], edx
mov ebx, dword [esi + 0x184]
inc ecx
add eax, 8
cmp ecx, ebx
jle 0x403395
mov dword [esi + 0x198], edi
mov dword [esi + 0x1a0], edi
mov dword [esi + 0x19c], 0x41cdcd65
mov dword [esi + 0x1a4], 0x4197d784
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret