Function at 0x1004a1b6
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x17c
mov eax, dword [0x1005e040]
xor eax, esp
mov dword [esp + 0x178], eax
push ebx
mov ebx, ecx
push esi
push edi
xor edi, edi
mov dword [esp + 0x28], ebx
cmp dword [ebx + 0x58], edi
jge 0x1004a1fc
test byte [ebx + 4], 2
jne 0x1004a1ef
push 0x1b
push 0xd9
jmp 0x1004a1f3
push 2
push 2
push ecx
call fcn.1004a063
mov dword [ebx + 0x58], eax
xorps xmm0, xmm0
mov dword [ebx + 8], edi
mov ecx, ebx
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x1c], edi
movups xmmword [ebx + 0x24], xmm0
call fcn.10049b52
mov esi, edi
mov ecx, edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], ecx
cmp dword [ebx + 0x4c], edi
jle 0x1004a290
mov dword [esp + 0x40], edi
mov eax, dword [ebx + 0x54]
mov edx, dword [eax + edi + 0x30]
test edx, edx
jne 0x1004a240
mov edx, 0x100596f8
mov dword [eax + edi + 0x30], edx
xor eax, eax
cmp word [edx], ax
je 0x1004a27d
mov ebx, dword [esp + 0x10]
xor edi, edi
movzx eax, word [edx + 2]
test ax, ax
je 0x1004a269
mov ecx, eax
inc esi
movzx eax, word [edx]
add edx, 4
sub ecx, eax
add esi, ecx
inc ebx
cmp word [edx], di
jne 0x1004a24d
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], esi
inc ecx
add edi, 0x74
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edi
cmp ecx, dword [ebx + 0x4c]
jl 0x1004a22c
xor edi, edi
mov edx, dword [ebx + 0xc]
test edx, edx
jg 0x1004a2c6
cmp esi, 0x3e8
mov eax, 0x400
mov edx, 0x200
cmovg edx, eax
cmp esi, 0x7d0
mov eax, 0x800
cmovg edx, eax
cmp esi, 0xfa0
mov eax, 0x1000
cmovg edx, eax
push 0xa
pop ecx
mov dword [ebx + 0x20], edi
xor eax, eax
lea edi, [esp + 0x54]
mov dword [ebx + 0x1c], edx
rep stosd dword es:[edi], eax
push ecx
push dword [ebx + 0x10]
push ecx
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.10044c5d
add esp, 0x14
test eax, eax
jne 0x1004a2f5
xor al, al
jmp 0x1004acdd
mov edx, dword [esp + 0x58]
xor ecx, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [esp + 0x24], eax
call fcn.1004acf2
imul ecx, dword [ebx + 0x4c], 0x8c
call fcn.10022a99
mov ecx, eax
xor eax, eax
mov edi, eax
mov dword [esp + 0x4c], ecx
cmp dword [ebx + 0x4c], eax
jle 0x1004a37c
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov edx, dword [ebx + 0x54]
mov esi, dword [edx + eax]
mov ecx, esi
mov edx, dword [edx + eax + 0xc]
call fcn.100411c1
mov edx, esi
mov esi, dword [esp + 0x40]
push eax
mov ecx, esi
call fcn.100412f8
pop ecx
test eax, eax
je 0x1004a58f
mov eax, dword [esp + 0x44]
inc edi
add eax, 0x74
add esi, 0x8c
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], esi
cmp edi, dword [ebx + 0x4c]
jl 0x1004a333
mov esi, dword [esp + 0xc]
xor eax, eax
imul esi, esi, 0x1c
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
mov ecx, esi
call fcn.10022a99
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
shl eax, 4
mov ecx, eax
mov dword [esp + 0xc], eax
call fcn.10022a99
imul edi, dword [esp + 0x10], 0x18
mov dword [esp + 0x48], eax
mov ecx, edi
call fcn.10022a99
push esi
xor esi, esi
mov dword [esp + 0x48], eax
push esi
push dword [esp + 0x48]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0xc]
push esi
push dword [esp + 0x50]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
xor edi, edi
push edi
push dword [esp + 0x4c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x4c], edi
jle 0x1004a6c4
mov edx, dword [esp + 0x20]
mov ecx, edi
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov eax, dword [ebx + 0x54]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
movzx eax, word [eax]
mov ebx, eax
mov dword [esp + 0xc], ebx
test ax, ax
je 0x1004a47c
movzx eax, ax
mov edx, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
movzx eax, word [eax + 2]
test ax, ax
je 0x1004a474
mov ecx, eax
movzx eax, bx
sub ecx, eax
mov eax, dword [esp + 0x10]
add eax, 4
inc ecx
add edx, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x34]
inc ecx
movzx ebx, word [eax]
mov dword [esp + 0x34], ecx
test bx, bx
jne 0x1004a445
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x20]
imul eax, dword [esp + 0x50], 0x18
add dword [esp + 0x50], ecx
mov dword [edi + 0x88], ecx
add eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov dword [edi + 0x84], eax
xor eax, eax
mov dword [esp + 0xc], eax
test ecx, ecx
jle 0x1004a51b
mov ebx, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x10], eax
mov esi, dword [edi + 0x84]
add esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], 0x18
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x10]
mov dword [esi], eax
movzx eax, word [edx + ecx*4]
mov dword [esi + 4], eax
movzx ecx, word [edx + ecx*4 + 2]
mov eax, dword [esp + 0xc]
movzx eax, word [edx + eax*4]
mov edx, dword [esp + 0x2c]
sub ecx, eax
imul eax, edx, 0x1c
inc ecx
add edx, ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], edx
add eax, dword [esp + 0x40]
inc ecx
mov dword [esi + 0x10], eax
mov dword [esp + 0xc], ecx
cmp ecx, ebx
jl 0x1004a4ad
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add dword [esp + 0x3c], ebx
mov dword [edi + 0x80], ebx
mov ebx, dword [esp + 0x14]
shl eax, 4
add eax, dword [esp + 0x48]
mov dword [edi + 0x7c], eax
cmp dword [ebx + 0x14], 8
push eax
cmovbe edx, dword [ebx + 0x14]
mov dword [esp + 0x70], edx
mov edx, ebx
push ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x60]
cmp dword [edx + 0x18], 8
cmovbe esi, dword [edx + 0x18]
mov edx, edi
mov dword [esp + 0x7c], esi
call fcn.10045187
mov ebx, dword [esp + 0x34]
mov esi, eax
xor eax, eax
mov dword [esp + 0x1c], esi
add esp, 0xc
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x34], edx
cmp dword [edi + 0x88], eax
jle 0x1004a62a
mov ebx, eax
jmp 0x1004a5b4
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1004a5a5
dec dword [0x1010b624]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
jmp 0x1004a2ee
xor eax, eax
mov ecx, eax
xor esi, esi
mov eax, dword [edi + 0x84]
mov dword [esp + 0x38], ecx
cmp dword [ebx + eax + 0xc], esi
jle 0x1004a612
mov esi, dword [esp + 0x14]
shl esi, 4
mov edx, dword [ebx + eax + 4]
add edx, ecx
mov ecx, edi
call fcn.100416c4
test eax, eax
jne 0x1004a5f2
mov eax, dword [edi + 0x7c]
xor ecx, ecx
mov word [esi + eax + 6], cx
mov eax, dword [edi + 0x7c]
mov word [esi + eax + 4], cx
mov ecx, dword [esp + 0x38]
add esi, 0x10
mov eax, dword [edi + 0x84]
inc ecx
inc dword [esp + 0x14]
mov dword [esp + 0x38], ecx
cmp ecx, dword [ebx + eax + 0xc]
jl 0x1004a5cf
mov edx, dword [esp + 0x34]
inc edx
add ebx, 0x18
mov dword [esp + 0x34], edx
cmp edx, dword [edi + 0x88]
jl 0x1004a5b2
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov edx, dword [edi + 0x7c]
mov ecx, dword [esp + 0x58]
push esi
call fcn.10040cac
pop ecx
test esi, esi
jle 0x1004a67e
xor ecx, ecx
mov edx, ecx
mov eax, dword [edi + 0x7c]
cmp word [edx + eax + 4], cx
jne 0x1004a655
cmp word [edx + eax + 6], cx
jne 0x1004a655
mov dword [edx + eax + 0xc], ecx
mov eax, dword [edi + 0x7c]
cmp dword [edx + eax + 0xc], ecx
je 0x1004a676
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [ebx + 0x20], ecx
cmovge ecx, dword [ebx + 0x20]
mov dword [ebx + 0x20], ecx
xor ecx, ecx
add edx, 0x10
sub esi, 1
jne 0x1004a640
mov eax, dword [esp + 0x30]
add edi, 0x8c
mov ecx, dword [esp + 0x18]
inc eax
add ecx, 0x74
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x4c]
jge 0x1004a6b2
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edx
jmp 0x1004a40c
mov eax, dword [esp + 0x70]
xor edi, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
test byte [ebx + 4], 1
mov eax, dword [ebx + 0x20]
jne 0x1004a6f2
lea ecx, [eax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
movd xmm0, dword [ebx + 0x1c]
inc eax
movss xmm1, dword [0x100597ac]
cvtdq2ps xmm0, xmm0
inc dword [0x1010b624]
mov dword [ebx + 0x20], eax
movaps xmm2, xmm1
divss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
imul eax, dword [ebx + 0x1c]
divss xmm1, xmm0
push eax
movss dword [ebx + 0x24], xmm2
movss dword [ebx + 0x28], xmm1
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ecx, dword [ebx + 0x20]
imul ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x14], eax
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebx + 0x14]
add esp, 0xc
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x60], eax
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x4c], edi
jle 0x1004a8d6
mov eax, dword [esp + 0x20]
mov edx, edi
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
sub edi, 0xffffff80
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], edi
mov esi, dword [ebx + 0x54]
push dword [edi - 4]
add esi, edx
lea edx, [edi - 0x80]
push dword [edi + 8]
push dword [edi + 4]
cmp dword [esi + 0x14], 8
cmovbe eax, dword [esi + 0x14]
cmp dword [esi + 0x18], 8
mov dword [esp + 0x78], eax
cmovbe ecx, dword [esi + 0x18]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x60]
call fcn.10045316
movss xmm1, dword [esi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x100597ac]
movss dword [esp + 0x18], xmm1
lahf
test ah, 0x44
jnp 0x1004a89f
xor eax, eax
mov ebx, 0xff
mov esi, eax
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10059d70]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100503c0
movss xmm1, dword [esp + 0x18]
cmp eax, ebx
movzx ecx, al
cmova ecx, ebx
mov byte [esp + esi + 0x80], cl
inc esi
cmp esi, 0x100
jb 0x1004a7d7
mov eax, dword [edi]
mov ecx, dword [edi - 4]
mov ebx, dword [esp + 0x28]
shl eax, 4
add eax, ecx
cmp ecx, eax
je 0x1004a89f
xor eax, eax
cmp dword [ecx + 0xc], eax
je 0x1004a88c
movzx eax, word [ecx + 4]
movzx edx, word [ecx + 8]
mov dword [esp + 0x3c], eax
movzx eax, word [ecx + 0xa]
imul eax, dword [esp + 0x64]
add eax, dword [esp + 0x74]
add edx, eax
movzx eax, word [ecx + 6]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1004a88c
mov ebx, dword [esp + 0x3c]
xor edi, edi
mov esi, edi
test ebx, ebx
je 0x1004a87b
movzx eax, byte [esi + edx]
mov al, byte [esp + eax + 0x80]
mov byte [esi + edx], al
inc esi
cmp esi, ebx
jl 0x1004a864
mov eax, dword [esp + 0x18]
add edx, dword [esp + 0x64]
dec eax
mov dword [esp + 0x18], eax
test eax, eax
jg 0x1004a85e
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
add ecx, 0x10
shl eax, 4
add eax, dword [edi - 4]
cmp ecx, eax
jne 0x1004a82a
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
xor eax, eax
mov dword [edi - 4], eax
add edx, 0x74
mov eax, dword [esp + 0x30]
add edi, 0x8c
inc eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edi
cmp eax, dword [ebx + 0x4c]
jge 0x1004a8d4
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
jmp 0x1004a77d
xor edi, edi
cmp dword [esp + 0x78], 0
je 0x1004a8e3
dec dword [0x1010b624]
push dword [esp + 0x78]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call esi
mov eax, dword [esp + 0x5c]
pop ecx
test eax, eax
je 0x1004a8fe
dec dword [0x1010b624]
push eax
call esi
mov eax, dword [esp + 0x4c]
pop ecx
test eax, eax
je 0x1004a910
dec dword [0x1010b624]
push eax
call esi
pop ecx
mov dword [esp + 0x38], edi
cmp dword [ebx + 0x4c], edi
jle 0x1004ac9e
mov eax, dword [esp + 0x4c]
mov ecx, edi
add eax, 4
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
mov esi, dword [ebx + 0x54]
add esi, ecx
mov dword [esp + 0x14], esi
mov dl, byte [esi + 0x3c]
mov ecx, dword [esi + 0x70]
mov dword [esp + 0x48], ecx
mov byte [esp + 0x1f], dl
test dl, dl
je 0x1004a95d
call fcn.1004b10e
mov al, byte [esi + 0x3c]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x24]
movss xmm1, dword [esi + 0x10]
lea ecx, [eax - 4]
call fcn.10043342
mov esi, dword [esp + 0x24]
movss dword [esp + 0x30], xmm0
mov edi, dword [esi + 0x18]
mov esi, dword [esi]
lea ecx, [esi + 4]
add ecx, edi
call fcn.100410a6
cwde
lea ecx, [esi + 6]
add ecx, edi
mov dword [esp + 0x18], eax
call fcn.100410a6
cmp byte [esp + 0x1f], 0
mov edi, dword [esp + 0x48]
cwde
mov dword [esp + 0x2c], eax
jne 0x1004aa2a
mov ecx, edi
call fcn.1004b0b5
mov esi, dword [esp + 0x14]
xorps xmm3, xmm3
movd xmm1, dword [esp + 0x18]
cvtdq2ps xmm1, xmm1
push 1
mov eax, dword [esi + 0x10]
mov dword [edi], eax
or eax, 0xffffffff
pop ecx
mov dword [edi + 0x40], esi
comiss xmm1, xmm3
mov dword [edi + 0x44], ebx
mulss xmm1, dword [esp + 0x30]
cmova eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movd xmm1, dword [esp + 0x2c]
cvtdq2ps xmm1, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
or eax, 0xffffffff
comiss xmm1, xmm3
mulss xmm1, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
cmova eax, ecx
movss dword [edi + 0x48], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x4c], xmm0
jmp 0x1004aa2e
mov esi, dword [esp + 0x14]
movss xmm0, dword [edi + 0x48]
xor ecx, ecx
addss xmm0, dword [0x10059780]
inc word [edi + 0x3e]
movss xmm1, dword [esi + 0x28]
movss dword [esp + 0x7c], xmm1
mov dword [esp + 0x30], ecx
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + 0x2c]
movss dword [esp + 0x10], xmm0
cmp dword [eax + 0x84], ecx
jle 0x1004ac72
mov edx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x80]
add ecx, edx
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xc], edx
cmp dword [ecx + 0xc], edx
jle 0x1004ac52
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x10]
xor ebx, ebx
add eax, dword [esp + 0x20]
mov dword [esp + 0x50], eax
cmp word [eax], bx
mov ebx, dword [esp + 0x28]
jne 0x1004aadb
xor edi, edi
cmp word [eax + 4], di
mov edi, dword [esp + 0x48]
jne 0x1004aadb
xor esi, esi
cmp word [eax + 2], si
mov esi, dword [esp + 0x14]
jne 0x1004aadb
xor edx, edx
cmp word [eax + 6], dx
mov edx, dword [esp + 0xc]
je 0x1004ac3b
mov ebx, dword [ecx + 4]
add ebx, edx
cmp byte [esi + 0x3c], 0
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x28]
je 0x1004ab09
push dword [esp + 0x18]
mov ecx, edi
call fcn.1004b449
mov ecx, dword [esp + 0x3c]
test eax, eax
jne 0x1004ac37
mov eax, dword [esp + 0x50]
movss xmm0, dword [eax + 0x10]
movss xmm7, dword [esi + 0x34]
comiss xmm7, xmm0
ja 0x1004ab21
movss xmm7, dword [esi + 0x38]
minss xmm7, xmm0
ucomiss xmm0, xmm7
movaps xmm6, xmm1
lahf
test ah, 0x44
jnp 0x1004ab51
cmp byte [esi + 0x1c], 0
movaps xmm6, xmm7
subss xmm6, xmm0
mulss xmm6, dword [0x10059780]
je 0x1004ab4d
cvttss2si eax, xmm6
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, xmm1
movd xmm0, dword [ebx + 0x1c]
sub esp, 0x1c
movss xmm3, dword [0x100597ac]
mov ecx, dword [ecx + 0x10]
add ecx, dword [esp + 0x3c]
movss xmm2, dword [0x100597ac]
cvtdq2ps xmm0, xmm0
movzx eax, word [ecx]
movss dword [esp + 0x18], xmm7
divss xmm3, xmm0
movd xmm0, dword [ebx + 0x20]
cvtdq2ps xmm0, xmm0
movd xmm5, eax
movzx eax, word [ecx + 2]
divss xmm2, xmm0
movd xmm4, eax
movzx eax, word [ecx + 4]
cvtdq2ps xmm4, xmm4
movd xmm1, eax
movzx eax, word [ecx + 6]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm2
mulss xmm0, xmm2
movss xmm2, dword [ecx + 8]
mulss xmm1, xmm3
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ecx + 0x18]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm4
xorps xmm4, xmm4
addss xmm0, xmm4
cvtdq2ps xmm5, xmm5
addss xmm0, dword [esp + 0x2c]
mulss xmm5, xmm3
addss xmm2, xmm4
movss xmm3, dword [ecx + 0xc]
addss xmm3, xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm0
addss xmm2, xmm6
movss xmm0, dword [ecx + 0x14]
mov ecx, edi
addss xmm0, xmm4
addss xmm3, dword [esp + 0x2c]
addss xmm0, xmm6
movss dword [esp], xmm0
push dword [esp + 0x34]
call fcn.1004b305
movss xmm1, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
add dword [esp + 0x20], 0x1c
inc edx
mov dword [esp + 0xc], edx
cmp edx, dword [ecx + 0xc]
jl 0x1004aa9d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
inc ecx
add edx, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
cmp ecx, dword [eax + 0x84]
jl 0x1004aa7c
mov edi, dword [esp + 0x38]
add eax, 0x8c
mov ecx, dword [esp + 0x34]
inc edi
add ecx, 0x74
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
cmp edi, dword [ebx + 0x4c]
jl 0x1004a932
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1004acac
dec dword [0x1010b624]
push eax
call esi
mov eax, dword [esp + 0x48]
pop ecx
test eax, eax
je 0x1004acbe
dec dword [0x1010b624]
push eax
call esi
mov eax, dword [esp + 0x50]
pop ecx
test eax, eax
je 0x1004acd0
dec dword [0x1010b624]
push eax
call esi
pop ecx
mov ecx, ebx
call fcn.1004aee0
mov al, 1
mov ecx, dword [esp + 0x184]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1004c416
mov esp, ebp
pop ebp
ret