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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [0x4b6074]
mov esi, dword [ebp + 8]
xor eax, ebp
mov dword [esp + 0x80], eax
cmp dword [esi], 0
jne 0x4148e6
push 0x4aa
push 0x4ad7a0
push 0x4af192
call fcn.0047b26f
add esp, 0xc
mov eax, dword [esi + 4]
mov ebx, dword [ebp + 0xc]
test byte [eax], 1
jne 0x414908
push 0x4ab
push 0x4ad7a0
push 0x4af112
call fcn.0047b26f
add esp, 0xc
test ebx, ebx
jne 0x414923
push 0x4ac
push 0x4ad7a0
push 0x4af20e
call fcn.0047b26f
add esp, 0xc
lea esi, [ebx + 0x1f]
shr esi, 5
xor eax, eax
inc eax
cmp esi, eax
cmovbe esi, eax
mov ecx, esi
call fcn.0041327b
mov dword [esp + 0xc], eax
lea eax, [esi + esi]
cmp esi, eax
cmovbe eax, esi
add eax, eax
lea edi, [eax + eax*2]
lea eax, [esi + esi*2]
lea ecx, [edi + eax*2]
call fcn.0041327b
movsd xmm0, qword [eax]
lea ecx, [esp + 0x78]
mov edx, edi
mov dword [esp + 0x28], eax
movsd qword [ecx], xmm0
call fcn.00414d05
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x1c], edx
inc ecx
cmp ebx, ecx
mov eax, dword [eax + 4]
mov dword [eax], ecx
jbe 0x414cbe
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x30], eax
inc ecx
mov ecx, ecx
mov eax, dword [esp + 0x30]
lea edx, [ecx + 0x1f]
mov dword [esp + 8], ecx
shr edx, 5
mov dword [esp + 0x18], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
lea eax, [ecx + ecx + 0x1f]
lea ecx, [esp + 0x70]
shr eax, 5
mov dword [esp + 0x24], eax
call fcn.00414d05
mov edi, eax
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], edx
mov esi, edx
mov ebx, dword [eax]
mov ecx, eax
cmp ebx, edi
cmova ebx, edi
lea eax, [ebx*4]
push eax
push dword [ecx + 4]
push edx
call fcn.00471ae0
add esp, 0xc
mov eax, edi
lea ecx, [esi + ebx*4]
sub eax, ebx
shl eax, 2
push eax
push ecx
call fcn.00467158
mov edx, dword [esp + 0x10]
add esp, 8
mov eax, edx
shr eax, 5
cmp eax, edi
mov dword [esp + 4], eax
jae 0x414a3b
xor eax, eax
mov ecx, edx
dec eax
shl eax, cl
mov ecx, dword [esp + 4]
not eax
sub edi, ecx
lea ecx, [esi + ecx*4]
and dword [ecx], eax
add ecx, 4
xor eax, eax
dec edi
jne 0x414a31
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, esi
mov dword [esp + 0x64], ecx
cmovae eax, esi
lea esi, [esp + 0x70]
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.00414d05
lea ebx, [esp + 0x58]
mov edi, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
lea edx, [esp + 0x68]
mov ecx, ebx
push dword [esp + 0x1c]
push dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
call fcn.00413fc2
add esp, 0xc
mov ecx, esi
mov esi, dword [esp + 0x18]
mov edx, esi
call fcn.00414d05
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x54], edx
push eax
push ebx
mov ebx, eax
lea eax, [esp + 0x58]
push eax
call fcn.004138a3
add esp, 0xc
lea ecx, [esp + 0x70]
mov edx, esi
call fcn.00414d05
mov esi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
push ebx
push dword [ebp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.004138a3
add esp, 0xc
mov ecx, dword [esp + 4]
cmp ecx, esi
jae 0x414b17
mov edx, ecx
mov ecx, dword [esp + 8]
xor eax, eax
dec eax
sub esi, edx
shl eax, cl
mov ecx, dword [esp + 0x10]
not eax
lea ecx, [ecx + edx*4]
and dword [ecx], eax
add ecx, 4
xor eax, eax
dec esi
jne 0x414b03
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
jmp 0x414b1b
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], ebx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x60]
cmp edi, eax
cmovae edi, eax
mov dword [esp + 0x40], edi
push dword [esp + 0x1c]
push dword [esp + 0x24]
lea eax, [esp + 0x50]
push eax
call fcn.00413fc2
add esp, 0xc
test edi, edi
je 0x414bb8
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
xor esi, esi
xor edx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + edx*4]
cmp dword [esp + 0x10], edx
mov eax, 0
jbe 0x414b7a
mov eax, dword [esp + 0x34]
mov eax, dword [eax + edx*4]
xor ebx, ebx
add ecx, esi
setb bl
add ecx, eax
mov esi, ebx
mov ebx, dword [esp + 0x14]
adc esi, 0
test ebx, ebx
je 0x414b93
mov dword [ebx + edx*4], ecx
inc edx
cmp edi, edx
jne 0x414b65
xor edx, edx
mov eax, ebx
inc edx
mov esi, dword [eax]
xor ecx, ecx
not esi
add esi, edx
setb dl
test ebx, ebx
je 0x414bae
mov dword [eax], esi
mov cl, dl
add eax, 4
dec edi
mov edx, ecx
jne 0x414b9d
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x70]
call fcn.00414d05
mov esi, eax
mov edi, edx
lea ecx, [esp + 0x38]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
lea edx, [esp + 0x60]
push dword [esp + 0x1c]
push dword [esp + 0x24]
lea eax, [esp + 0x48]
push eax
call fcn.00413fc2
add esp, 0xc
mov ecx, dword [esp + 8]
and ecx, 0x1f
cmp dword [esp + 4], esi
jae 0x414c15
mov edx, dword [esp + 4]
xor eax, eax
dec eax
shl eax, cl
not eax
sub esi, edx
lea edx, [edi + edx*4]
and dword [edx], eax
add edx, 4
xor eax, eax
dec esi
jne 0x414c0b
mov eax, dword [esp + 8]
add eax, eax
mov dword [esp + 8], eax
push ecx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00414621
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov eax, dword [eax]
sub edx, ecx
cmp eax, ecx
cmovb ecx, eax
sub eax, ecx
cmp eax, edx
cmovae eax, edx
test eax, eax
je 0x414caf
shl ecx, 2
mov ebx, dword [esp + 0x54]
xor edi, edi
xor esi, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov dword [esp + 0x10], ebx
add edx, dword [ecx + 4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], edx
mov ebx, dword [ecx + esi*4]
cmp dword [esp + 0x14], esi
mov ecx, 0
jbe 0x414c95
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + esi*4]
xor edx, edx
add ebx, edi
setb dl
add ebx, ecx
mov ecx, dword [esp + 4]
adc edx, 0
mov edi, edx
mov dword [ecx + esi*4], ebx
inc esi
cmp eax, esi
jne 0x414c80
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
cmp ecx, ebx
jb 0x41499c
mov esi, dword [esp + 0xc]
mov eax, ebx
shr eax, 5
cmp eax, dword [esi]
jae 0x414ce1
xor edx, edx
mov ecx, ebx
dec edx
shl edx, cl
not edx
mov ecx, dword [esi + 4]
and dword [ecx + eax*4], edx
inc eax
xor edx, edx
cmp eax, dword [esi]
jb 0x414cd4
push dword [esp + 0x28]
call fcn.00413339
add esp, 4
mov ecx, dword [esp + 0x80]
xor ecx, ebp
call fcn.0046ef41
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret