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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
nop
mov eax, dword [ebp + 8]
mov ebx, dword [0x458ac4]
mov ecx, eax
imul ecx, ecx, 0x34
mov edx, dword [ecx + ebx]
add ecx, ebx
cmp edx, esi
jne 0x413d7c
mov esi, dword [ecx + 4]
jmp 0x413d80
mov esi, edx
mov edi, edi
mov edx, dword [0x458aa0]
lea ecx, [esi + esi*2]
shl ecx, 4
cmp dword [ecx + edx + 0x28], 0
lea edi, [ecx + edx]
jne 0x41443f
cmp byte [edi + 0x20], 0
je 0x413ed2
imul eax, eax, 0x34
add eax, ebx
cmp dword [eax], esi
jne 0x413db6
mov eax, dword [eax + 0x18]
mov dword [esp + 0x24], eax
jmp 0x413dbd
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
imul eax, eax, 0x34
add eax, ebx
mov ebx, dword [eax]
cmp ebx, esi
jne 0x413dcf
mov ebx, dword [eax + 4]
cmp dword [edi + 0x1c], 0xffffffff
jne 0x4142e2
fld qword [edi]
mov eax, dword [ebp + 0x10]
mov edx, dword [0x458a70]
fst qword [esp + 0x60]
fld qword [edi + 8]
lea eax, [eax + eax*2]
fst qword [esp + 0x68]
shl eax, 4
fld qword [edi + 0x10]
mov ecx, dword [eax + edx]
fstp qword [esp + 0x40]
shl ecx, 5
fld qword [eax + edx + 8]
add ecx, dword [0x458a44]
fst qword [esp + 0x58]
fld qword [eax + edx + 0x10]
fst qword [esp + 0x50]
fld qword [eax + edx + 0x18]
fst qword [esp + 0x48]
fld qword [ecx]
fld qword [ecx + 8]
fld st(6)
fsubrp st(2)
fxch st(1)
fmul st(3)
fld st(5)
fsubrp st(2)
fxch st(1)
fmul st(4)
fsubp st(1)
fld qword [eax + edx + 0x20]
fld qword [0x458c00]
fadd st(1), st(0)
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x413e78
fld st(0)
fchs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x413e7a
fxch st(5)
fmulp st(3)
fxch st(3)
fmulp st(1)
faddp st(1)
faddp st(1)
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x413e8a
fchs
jmp 0x413e8a
fstp st(1)
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld qword [0x458ae8]
fsub qword [esp + 0x40]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4143fc
mov dword [edi + 0x28], 3
mov edx, dword [0x458aa0]
lea ecx, [ebx + ebx*2]
shl ecx, 4
mov eax, dword [ecx + edx + 0x28]
cmp eax, 3
je 0x4142f7
test eax, eax
jne 0x41443f
mov eax, dword [esp + 0x24]
mov esi, ebx
mov ebx, dword [0x458ac4]
mov dword [ebp + 8], eax
lea ecx, [esi + esi*2]
shl ecx, 4
cmp byte [ecx + edx + 0x20], 0
jne 0x413d80
mov ebx, dword [ebp + 0x10]
mov ecx, dword [0x458a70]
lea eax, [esi + esi*2]
shl eax, 4
add eax, edx
lea ebx, [ebx + ebx*2]
shl ebx, 4
mov edi, dword [ebx + ecx]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x1c]
cmp edi, eax
je 0x414431
cmp dword [ebx + ecx + 4], eax
je 0x414431
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x64]
push edx
push esi
call fcn.00409aa0
lea eax, [esp + 0x54]
push eax
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x6c]
push edx
push eax
call fcn.00409a70
mov ecx, dword [0x458a70]
shl edi, 5
add edi, dword [0x458a44]
sub esp, 0x14
fld qword [edi]
lea edx, [esp + 0x90]
fstp qword [esp + 0xa0]
lea eax, [esp + 0xa0]
fld qword [edi + 8]
fstp qword [esp + 0xa8]
fld qword [0x458c00]
fst qword [esp + 0x28]
fstp qword [esp + 0x20]
fld qword [ebx + ecx + 0x20]
fstp qword [esp + 0x18]
fld qword [esp + 0x78]
fstp qword [esp + 0x10]
fld qword [esp + 0x80]
fstp qword [esp + 8]
fld qword [esp + 0x88]
fstp qword [esp]
push edx
push eax
call fcn.00411690
fsub qword [esp + 0x78]
add esp, 0x28
fstp qword [esp]
call fcn.00408780
add esp, 0x10
test al, al
je 0x414417
mov ecx, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
push esi
push ebx
mov dword [ecx + 0x28], 3
call fcn.00406490
mov edi, eax
push esi
push ebx
mov dword [esp + 0x34], edi
call fcn.004064b0
mov edx, edi
imul edx, edx, 0x34
mov dword [esp + 0x44], eax
mov eax, dword [0x458ac4]
add esp, 0x10
cmp dword [edx + eax + 4], esi
jne 0x414010
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
push edi
call fcn.004063a0
jmp 0x414020
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
push edi
call fcn.00406370
add esp, 0xc
push esi
push edi
call fcn.00406350
mov edx, dword [esp + 0x3c]
mov ebx, eax
push esi
push edx
mov dword [esp + 0x4c], ebx
call fcn.00406350
push ebx
mov dword [esp + 0x4c], eax
call fcn.004114c0
add esp, 0x14
test al, al
je 0x414237
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
push ecx
push edx
push eax
push edi
call fcn.004063d0
mov edi, dword [0x458c34]
mov ebx, dword [0x458c38]
add esp, 0x14
cmp dword [esp + 0x30], 2
jne 0x4140e7
mov ecx, dword [esp + 0x20]
mov edx, dword [0x458a44]
shl ecx, 5
cmp byte [ecx + edx + 0x19], 0
jne 0x4140e7
cmp edi, ebx
jl 0x4140c6
mov eax, dword [0x458c30]
add ebx, 0x400
push 8
push ebx
push eax
mov dword [0x458c38], ebx
call fcn.0040fbc0
mov ebx, dword [0x458c38]
mov edi, dword [0x458c34]
add esp, 0xc
mov dword [0x458c30], eax
mov edx, dword [0x458c30]
mov ecx, dword [esp + 0x20]
mov dword [edx + edi*8], ecx
mov eax, dword [0x458c30]
mov dword [eax + edi*8 + 4], 2
inc edi
mov dword [0x458c34], edi
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004114c0
add esp, 4
test al, al
je 0x4141f3
cmp dword [esp + 0x2c], 2
jne 0x41416a
mov edx, dword [esp + 0x28]
mov eax, dword [0x458a44]
shl edx, 5
cmp byte [edx + eax + 0x19], 0
jne 0x41416a
cmp edi, ebx
jl 0x414149
mov ecx, dword [0x458c30]
add ebx, 0x400
push 8
push ebx
push ecx
mov dword [0x458c38], ebx
call fcn.0040fbc0
mov ebx, dword [0x458c38]
mov edi, dword [0x458c34]
add esp, 0xc
mov dword [0x458c30], eax
mov eax, dword [0x458c30]
mov edx, dword [esp + 0x28]
mov dword [eax + edi*8], edx
mov ecx, dword [0x458c30]
mov dword [ecx + edi*8 + 4], 2
inc edi
mov dword [0x458c34], edi
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x30]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
call fcn.004063d0
add esp, 0x14
cmp dword [esp + 0x30], 2
jne 0x4141f3
mov ecx, dword [esp + 0x20]
mov edx, dword [0x458a44]
shl ecx, 5
cmp byte [ecx + edx + 0x19], 0
jne 0x4141f3
cmp edi, ebx
jl 0x4141d2
mov eax, dword [0x458c30]
add ebx, 0x400
push 8
push ebx
push eax
mov dword [0x458c38], ebx
call fcn.0040fbc0
mov edi, dword [0x458c34]
add esp, 0xc
mov dword [0x458c30], eax
mov edx, dword [0x458c30]
mov ecx, dword [esp + 0x20]
mov dword [edx + edi*8], ecx
mov eax, dword [0x458c30]
mov dword [eax + edi*8 + 4], 2
inc edi
mov dword [0x458c34], edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
push eax
call fcn.004114e0
add esp, 4
test al, al
je 0x414216
mov ecx, dword [ebp + 0x10]
push ecx
push esi
push edi
call fcn.00413d50
add esp, 0xc
mov edx, dword [esp + 0x38]
push edx
call fcn.004114e0
add esp, 4
test al, al
je 0x41443f
mov eax, dword [esp + 0x34]
mov dword [ebp + 8], eax
jmp 0x413d60
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004114c0
add esp, 4
test al, al
je 0x4141f7
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x30]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
call fcn.004063d0
add esp, 0x14
cmp dword [esp + 0x30], 2
jne 0x4141f7
mov ebx, dword [esp + 0x20]
mov edx, dword [0x458a44]
mov ecx, ebx
shl ecx, 5
cmp byte [ecx + edx + 0x19], 0
jne 0x4141f7
mov eax, dword [0x458c34]
mov ecx, dword [0x458c38]
cmp eax, ecx
jl 0x4142c0
mov eax, dword [0x458c30]
add ecx, 0x400
push 8
push ecx
push eax
mov dword [0x458c38], ecx
call fcn.0040fbc0
mov dword [0x458c30], eax
mov eax, dword [0x458c34]
add esp, 0xc
mov ecx, dword [0x458c30]
mov dword [ecx + eax*8], ebx
mov edx, dword [0x458c30]
mov dword [edx + eax*8 + 4], 2
inc eax
mov dword [0x458c34], eax
jmp 0x4141f7
lea ecx, [esi + esi*2]
shl ecx, 4
mov dword [ecx + edx + 0x28], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov edx, dword [0x458ac4]
imul eax, eax, 0x34
mov ecx, dword [eax + edx + 8]
mov esi, dword [eax + edx + 0xc]
mov ebx, dword [eax + edx + 0x10]
mov edi, dword [eax + edx + 0x14]
add eax, edx
cmp ecx, 2
jne 0x414383
mov ecx, dword [0x458a44]
mov eax, esi
shl eax, 5
cmp byte [eax + ecx + 0x19], 0
mov eax, dword [0x458c34]
jne 0x414388
mov ecx, dword [0x458c38]
cmp eax, ecx
jl 0x414364
mov edx, dword [0x458c30]
add ecx, 0x400
push 8
push ecx
push edx
mov dword [0x458c38], ecx
call fcn.0040fbc0
mov dword [0x458c30], eax
mov eax, dword [0x458c34]
add esp, 0xc
mov ecx, dword [0x458c30]
mov dword [ecx + eax*8], esi
mov edx, dword [0x458c30]
mov dword [edx + eax*8 + 4], 2
inc eax
mov dword [0x458c34], eax
jmp 0x414388
mov eax, dword [0x458c34]
cmp ebx, 2
jne 0x41443f
mov edx, dword [0x458a44]
mov ecx, edi
shl ecx, 5
cmp byte [ecx + edx + 0x19], 0
jne 0x41443f
mov ecx, dword [0x458c38]
cmp eax, ecx
jl 0x4143d8
mov eax, dword [0x458c30]
add ecx, 0x400
push 8
push ecx
push eax
mov dword [0x458c38], ecx
call fcn.0040fbc0
mov dword [0x458c30], eax
mov eax, dword [0x458c34]
add esp, 0xc
mov ecx, dword [0x458c30]
mov dword [ecx + eax*8], edi
mov edx, dword [0x458c30]
mov dword [edx + eax*8 + 4], 2
inc eax
mov dword [0x458c34], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x458aa0]
lea eax, [esi + esi*2]
shl eax, 4
mov dword [eax + ecx + 0x28], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x458aa0]
lea edx, [esi + esi*2]
shl edx, 4
mov dword [edx + eax + 0x28], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi + esi*2]
shl ecx, 4
mov dword [ecx + edx + 0x28], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret