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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
mov ebx, ecx
jne 0x413837
cmp byte [ebx + 0x124], 0
jne 0x413837
mov eax, ebx
call fcn.00413380
movzx eax, byte [ebx + 0x124]
or byte [ebp + 0x18], al
mov al, byte [ebp + 0x14]
or al, byte [ebx + 8]
cmp dword [ebx + 0x158], 0
mov byte [ebp + 0x14], al
jne 0x413857
mov byte [ebp + 0x18], 1
test al, al
je 0x4138b8
cmp byte [ebx + 0x129], 0
je 0x413886
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx]
mov edi, dword [ebp + 8]
mov edx, dword [edx + 0x18]
push eax
push ecx
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x4138bb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp byte [ebp + 0x18], 0
jne 0x4138aa
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
call eax
mov eax, dword [ebp + 8]
lea esi, [esp + 0x14]
call fcn.004158f0
mov eax, dword [ebp + 8]
lea esi, [ebx + 0x94]
call fcn.004158f0
mov edi, dword [ebp + 8]
mov ecx, dword [ebx + 0x94]
cmp ecx, dword [ebx + 0x9c]
jge 0x4138d7
mov edx, dword [ebx + 0x98]
cmp edx, dword [ebx + 0xa0]
jl 0x4138ef
cmp byte [ebp + 0x18], 0
je 0x4138ef
mov dword [ebx + 8], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov esi, dword [edi + 4]
shr esi, 1
test dword [ebx + 0xb8], 0xfffffffe
mov dword [esp + 0x24], esi
mov dword [esp + 0x10], 0
jbe 0x413a48
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xb4]
add esi, esi
add esi, esi
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x12e], 0
je 0x41394b
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
je 0x413957
mov eax, dword [ebx + 0xb4]
mov edi, dword [eax + esi]
add eax, esi
lea esi, [esp + 0x28]
call fcn.00411c10
jmp 0x41395a
cmp byte [ecx + 0x21], 0
jne 0x413935
cmp byte [ecx + 0x51], 0
jmp 0x413933
mov eax, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x10]
mov ecx, 0xa
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0xb4]
add eax, eax
add eax, eax
mov esi, dword [eax + ecx]
test byte [esi + 8], 1
je 0x413985
mov eax, esi
call fcn.00413380
add esi, 0xf4
mov ecx, 0xa
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x74], 0
lea ecx, [esp + 0x78]
je 0x4139e6
fld1
lea edx, [esp + 0x28]
fst dword [esp + 0x28]
push edx
fldz
mov byte [esp + 0x50], 0
fst dword [esp + 0x30]
fld dword [esp + 0x5c]
fstp dword [esp + 0x34]
fst dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x3c]
fld dword [esp + 0x68]
fstp dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.00410e60
jmp 0x4139f8
lea eax, [esp + 0x50]
push eax
call fcn.00410e60
mov byte [esp + 0x9c], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xb4]
add eax, eax
add eax, eax
mov ecx, dword [eax + ecx]
mov eax, dword [ebp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [ebp + 0x14]
push eax
lea eax, [esp + 0x80]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xb8]
inc eax
shr ecx, 1
mov dword [esp + 0x10], eax
cmp eax, ecx
jb 0x413910
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 8]
cmp byte [ebx + 0x126], 0
je 0x413ac2
mov eax, dword [ebp + 0x10]
lea edx, [ebx + 0xa4]
push eax
lea ecx, [esp + 0x18]
call fcn.004110c0
mov ecx, dword [edi + 4]
shr ecx, 1
cmp esi, ecx
jae 0x413ac2
mov edx, esi
shl edx, 4
mov eax, dword [edi]
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax + edx]
add eax, edx
cmp ecx, ebx
jge 0x413a83
mov ecx, ebx
mov ebx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [eax + 4]
cmp ecx, ebx
jge 0x413a92
mov ecx, ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 8]
cmp ecx, ebx
jle 0x413aa2
mov ecx, ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [eax + 0xc]
cmp ecx, ebx
jle 0x413ab2
mov ecx, ebx
mov dword [eax + 0xc], ecx
mov eax, dword [edi + 4]
inc esi
shr eax, 1
add edx, 0x10
cmp esi, eax
jb 0x413a72
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14