Function at 0x10019620
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10028c98
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x1003300c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x40], ebx
mov ecx, dword [ebx + 4]
mov dword [ebx], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
test ecx, ecx
je 0x10019693
mov eax, dword [0x10033018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100196b1
mov eax, dword [0x10033018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebx + 0x2c]
mov eax, dword [0x10033018]
shl ecx, 4
sub ecx, dword [ebx + 0x2c]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
shl ecx, 2
push ecx
call eax
xor esi, esi
mov dword [ebp - 0x60], eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x48], esi
cmp dword [ebx + 0x2c], esi
jle 0x1001984d
xor edx, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebx + 0x34]
add eax, edx
mov dword [ebp - 0x30], eax
mov esi, dword [eax]
mov edi, dword [eax + 0xc]
mov al, byte [esi]
cmp al, 0x31
jne 0x10019726
cmp byte [esi + 1], 0
jne 0x10019726
cmp byte [esi + 2], 0
jne 0x10019726
cmp byte [esi + 3], 0
je 0x10019765
cmp al, 0x74
jne 0x1001973c
cmp byte [esi + 1], 0x79
jne 0x1001973c
cmp byte [esi + 2], 0x70
jne 0x1001973c
cmp byte [esi + 3], 0x31
je 0x10019765
cmp al, 0x4f
jne 0x10019751
cmp byte [esi + 1], 0x54
jne 0x1001976b
cmp byte [esi + 2], 0x54
jne 0x1001976b
cmp byte [esi + 3], al
jmp 0x10019763
test al, al
jne 0x1001976b
cmp byte [esi + 1], 1
jne 0x1001976b
cmp byte [esi + 2], al
jne 0x1001976b
cmp byte [esi + 3], al
jne 0x1001976b
neg edi
sbb edi, edi
jmp 0x100197d3
cmp al, 0x74
jne 0x100197d0
cmp byte [esi + 1], al
jne 0x100197d0
cmp byte [esi + 2], 0x63
jne 0x100197d0
cmp byte [esi + 3], 0x66
jne 0x100197d0
lea ecx, [esi + 4]
call fcn.10012230
cmp eax, 0x10000
je 0x1001979e
lea ecx, [esi + 4]
call fcn.10012230
cmp eax, 0x20000
jne 0x100197d0
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
shl eax, 8
add ecx, eax
movzx eax, byte [esi + 0xa]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0xb]
shl ecx, 8
add ecx, eax
cmp edi, ecx
jge 0x100197d0
add edi, 3
lea ecx, [esi + edi*4]
call fcn.10012230
mov edi, eax
jmp 0x100197d3
or edi, 0xffffffff
mov edx, esi
mov esi, dword [ebp - 0x2c]
push edi
mov ecx, esi
call fcn.100122f0
add esp, 4
test eax, eax
je 0x10019863
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x28]
test edx, edx
jne 0x100197fd
mov dword [eax + 0x28], 0x1002dfd8
mov edx, 0x1002dfd8
cmp word [edx], 0
je 0x1001982b
mov ebx, dword [ebp - 0x20]
movzx eax, word [edx + 2]
test ax, ax
je 0x10019825
inc dword [ebp - 0x28]
mov ecx, eax
movzx eax, word [edx]
inc ebx
add edx, 4
sub ecx, eax
add ebx, ecx
cmp word [edx], 0
jne 0x10019806
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
add esi, 0x3c
mov edx, dword [ebp - 0x44]
inc ecx
add edx, 0x54
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x2c], esi
cmp ecx, dword [ebx + 0x2c]
jl 0x10019701
mov esi, dword [ebp - 0x20]
mov edi, dword [ebx + 0x14]
test edi, edi
jg 0x1001988c
cmp esi, 0xfa0
jle 0x1001986a
mov edi, 0x1000
jmp 0x1001988c
xor al, al
jmp 0x1001a205
cmp esi, 0x7d0
jle 0x10019879
mov edi, 0x800
jmp 0x1001988c
cmp esi, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [0x10033018]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], 0
push 0x30
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov edx, dword [0x10033018]
lea ecx, [edi*8 - 8]
add esp, 4
mov dword [ebp - 0x24], eax
inc dword [edx + 0x310]
push ecx
mov ecx, dword [edx + 0xbc]
call ecx
mov ecx, dword [ebp - 0x24]
add esp, 4
mov edx, eax
test ecx, ecx
je 0x10019920
test edx, edx
je 0x1001991d
lea eax, [edi - 1]
mov dword [ebp - 0x64], edx
push eax
push edx
push ecx
mov edx, eax
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], 0x8000
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x78], edi
call fcn.10011bf0
add esp, 0xc
jmp 0x10019944
push ecx
jmp 0x10019925
test edx, edx
je 0x1001993b
push edx
mov eax, dword [0x10033018]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x24], eax
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0
push eax
push 0
mov ecx, ebx
call fcn.1001a230
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
push edi
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x54], 1
call fcn.10012070
add esp, 4
test edi, edi
jle 0x100199c7
mov edx, dword [ebp - 0x14]
add edx, 0xa
cmp dword [edx + 2], 0
je 0x100199bf
movzx ecx, word [edx - 4]
movzx eax, word [edx]
add ecx, eax
cmp dword [ebx + 0x10], ecx
cmovge ecx, dword [ebx + 0x10]
mov dword [ebx + 0x10], ecx
add edx, 0x10
sub edi, 1
jne 0x100199a6
mov eax, dword [0x10033018]
lea edi, [esi*8]
sub edi, esi
mov dword [ebp - 0x38], 0
shl edi, 2
push edi
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
call eax
mov ecx, dword [0x10033018]
add esp, 4
shl esi, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], esi
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push esi
call ecx
mov ecx, dword [0x10033018]
add esp, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
lea esi, [eax + eax*2]
shl esi, 3
push esi
call ecx
add esp, 4
mov dword [ebp - 0x48], eax
push edi
push 0
push dword [ebp - 0x44]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [ebp - 0x20]
push 0
push dword [ebp - 0x2c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [ebp - 0x48]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x3c], 0
cmp dword [ebx + 0x2c], 0
jle 0x10019c0a
mov esi, dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], esi
nop
mov ecx, dword [ebx + 0x34]
xor edi, edi
add ecx, eax
mov dword [ebp - 0x58], edi
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov edx, dword [ecx + 0x28]
movzx eax, word [edx]
test ax, ax
je 0x10019ad3
nop word [eax + eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x10019acd
add edx, 4
movzx eax, ax
sub ecx, eax
inc edi
add edi, ecx
inc ebx
movzx eax, word [edx]
test ax, ax
jne 0x10019ab0
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x58], edi
mov edx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
mov dword [esi + 0x38], ebx
lea eax, [edx + edx*2]
add edx, ebx
lea eax, [edi + eax*8]
mov dword [ebp - 0x4c], edx
xor edi, edi
mov dword [ebp - 0x20], eax
mov dword [esi + 0x34], eax
test ebx, ebx
jle 0x10019b50
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [ecx + 0x28]
mov esi, dword [esi + 0x34]
add esi, eax
mov eax, dword [ecx + 0x10]
mov dword [esi], eax
movzx eax, word [edx + edi*4]
mov dword [esi + 4], eax
movzx eax, word [edx + edi*4]
movzx ecx, word [edx + edi*4 + 2]
inc edi
mov edx, dword [ebp - 0x38]
sub ecx, eax
inc ecx
add dword [ebp - 0x38], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x28]
lea eax, [edx*8]
sub eax, edx
mov edx, dword [ebp - 0x44]
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x34]
add eax, 0x18
mov dword [ebp - 0x20], eax
cmp edi, ebx
jl 0x10019af8
mov eax, dword [esi + 0x34]
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
mov edx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x50]
shl eax, 4
add edx, eax
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x30], edx
push edx
push ebx
mov ecx, dword [eax + 0x18]
mov edx, esi
mov eax, dword [eax + 0x14]
cmp eax, 8
push dword [ebp - 0x20]
cmovbe edi, eax
mov eax, dword [ebp - 0x54]
cmp ecx, 8
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x70], edi
cmovbe eax, ecx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x6c], eax
call fcn.10015ef0
mov edx, dword [esi + 0x30]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov ebx, eax
push ebx
call fcn.10012070
add esp, 4
test ebx, ebx
jle 0x10019be8
mov edi, dword [ebp - 0x40]
xor edx, edx
nop dword [eax]
mov eax, dword [esi + 0x30]
cmp dword [eax + edx + 0xc], 0
je 0x10019be0
movzx ecx, word [eax + edx + 0xa]
movzx eax, word [eax + edx + 6]
add ecx, eax
cmp dword [edi + 0x10], ecx
cmovge ecx, dword [edi + 0x10]
mov dword [edi + 0x10], ecx
add edx, 0x10
sub ebx, 1
jne 0x10019bc0
mov ecx, dword [ebp - 0x3c]
add esi, 0x3c
mov ebx, dword [ebp - 0x40]
inc ecx
mov eax, dword [ebp - 0x30]
add eax, 0x54
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], esi
cmp ecx, dword [ebx + 0x2c]
jl 0x10019a90
mov ecx, dword [ebx + 0x10]
dec ecx
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
mov ecx, dword [ebx + 0xc]
inc eax
mov dword [ebx + 0x10], eax
imul ecx, eax
mov eax, dword [0x10033018]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [ebx + 0xc]
add esp, 4
imul ecx, dword [ebx + 0x10]
mov dword [ebx + 4], eax
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebx + 4]
add esp, 0xc
cmp dword [ebx + 0x2c], 0
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x30], 0
jle 0x10019cf6
mov esi, dword [ebp - 0x60]
xor ecx, ecx
mov edx, dword [ebp - 0x50]
add esi, 0x30
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebx + 0x34]
push dword [esi]
add eax, ecx
push dword [esi + 8]
push dword [esi + 4]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
cmp eax, 8
cmovbe edx, eax
cmp ecx, 8
mov dword [ebp - 0x70], edx
lea edx, [esi - 0x30]
cmovbe edi, ecx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x6c], edi
call fcn.10016240
mov eax, dword [ebp - 0x30]
lea esi, [esi + 0x3c]
mov ecx, dword [ebp - 0x3c]
inc eax
mov dword [esi - 0x3c], 0
add ecx, 0x54
add esp, 0xc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], ecx
cmp eax, dword [ebx + 0x2c]
jge 0x10019cee
mov edi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
jmp 0x10019c91
mov esi, dword [ebp - 0x84]
jmp 0x10019cf9
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x64], 0
mov eax, dword [0x10033018]
je 0x10019d0a
dec dword [eax + 0x310]
push dword [ebp - 0x64]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x10033018]
add esp, 4
test esi, esi
je 0x10019d27
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push esi
call eax
mov ecx, dword [ebp - 0x2c]
add esp, 4
mov eax, dword [0x10033018]
test ecx, ecx
je 0x10019d45
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov dword [ebp - 0x5c], 0
cmp dword [ebx + 0x2c], 0
jle 0x1001a177
mov ecx, dword [ebp - 0x60]
xor edx, edx
movss xmm3, dword [0x1002eb80]
add ecx, 4
movss xmm2, dword [0x1002eb9c]
mov edi, 0x100
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x28], ecx
mov esi, dword [ecx + 0x18]
mov ebx, dword [ebx + 0x34]
add ebx, edx
mov edx, dword [ecx]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebx + 0x50]
movzx ecx, byte [esi + edx + 6]
mov dword [ebp - 0x20], eax
movsx ecx, cx
movsx eax, di
imul ecx, eax
movzx eax, byte [esi + edx + 7]
movss xmm1, dword [ebx + 0x10]
add cx, ax
mov eax, 0x100
movsx edi, cx
movzx ecx, byte [esi + edx + 4]
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + edx + 5]
mov esi, dword [ebp - 0x20]
add cx, ax
movsx ecx, cx
mov eax, ecx
sub eax, edi
cmp byte [ebx + 0x2c], 0
movd xmm4, ecx
cvtdq2ps xmm4, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm1
mulss xmm0, xmm1
movss dword [ebp - 0x24], xmm4
jne 0x10019e42
mov edi, dword [ebp - 0x40]
lea ecx, [esi + 0x10]
xor eax, eax
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], ebx
mov word [esi + 0x3e], ax
mov eax, dword [ebx + 0x10]
push 0
mov dword [esi], eax
movss dword [esi + 0x48], xmm4
movss dword [esi + 0x4c], xmm0
call fcn.100113e0
movss xmm3, dword [0x1002eb80]
movss xmm4, dword [ebp - 0x24]
movss xmm2, dword [0x1002eb9c]
inc word [esi + 0x3e]
cmp byte [ebx + 0x2c], 0
je 0x10019e65
cmp byte [ebx + 0x2d], 0
je 0x10019e65
subss xmm4, dword [esi + 0x48]
mulss xmm4, xmm3
xorps xmm3, xmm3
movss dword [ebp - 0x24], xmm4
jmp 0x10019e6d
xorps xmm3, xmm3
movss dword [ebp - 0x24], xmm3
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [esi + 0x34], 0
mov dword [ebp - 0x30], edi
cmp dword [ecx + 0x34], edi
jle 0x1001a135
xor eax, eax
mov dword [ebp - 0x3c], eax
nop word [eax + eax]
mov edx, dword [ecx + 0x30]
xor ecx, ecx
add edx, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], edx
cmp dword [edx + 0xc], ecx
jle 0x1001a117
xor edi, edi
nop dword [eax + eax]
mov ebx, dword [edx + 0x10]
movzx eax, word [edi + ebx]
test ax, ax
jne 0x10019ed5
cmp word [edi + ebx + 4], ax
jne 0x10019ed5
cmp word [edi + ebx + 2], ax
jne 0x10019ed5
cmp word [edi + ebx + 6], ax
je 0x1001a0f3
mov esi, dword [ebp - 0x34]
mov eax, dword [edx + 4]
add eax, ecx
mov dword [ebp - 0x54], eax
cmp byte [esi + 0x2c], 0
mov esi, dword [ebp - 0x20]
je 0x10019f24
movzx eax, ax
mov dword [ebp - 0x4c], eax
cmp eax, dword [esi + 0x28]
jge 0x10019f19
mov edx, dword [ebp - 0x4c]
mov eax, dword [esi + 0x30]
movzx eax, word [eax + edx*2]
mov edx, 0xffff
cmp ax, dx
mov edx, dword [ebp - 0x2c]
je 0x10019f19
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x38]
jmp 0x10019f1c
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x1001a0f3
mov eax, dword [ebp - 0x40]
lea ecx, [esi + 0x10]
movaps xmm1, xmm2
movd xmm0, dword [eax + 0xc]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
movzx eax, word [edi + ebx]
divss xmm2, xmm0
movss xmm0, dword [edi + ebx + 8]
addss xmm0, xmm3
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [edi + ebx + 0xc]
addss xmm0, xmm3
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [edi + ebx + 0x14]
addss xmm0, xmm3
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [edi + ebx + 0x18]
addss xmm0, xmm3
movss dword [ebp - 0x90], xmm0
movd xmm0, eax
movzx eax, word [edi + ebx + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x94], xmm0
movd xmm0, eax
movzx eax, word [edi + ebx + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x98], xmm0
movd xmm0, eax
movzx eax, word [edi + ebx + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x9c], xmm0
movd xmm0, eax
mov eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
inc eax
push eax
mulss xmm0, xmm2
movss dword [ebp - 0xa0], xmm0
call fcn.100113e0
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
movss xmm0, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x20]
movss xmm2, dword [ebp - 0x50]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x54]
movss xmm1, dword [ebp - 0x90]
movss dword [edx + ecx*8 - 0x20], xmm0
movss xmm0, dword [ebp - 0x8c]
movss xmm3, dword [0x1002eb80]
movss dword [edx + ecx*8 - 0x18], xmm0
movss xmm0, dword [ebp - 0x94]
movss dword [edx + ecx*8 - 0x10], xmm0
movss xmm0, dword [ebp - 0x98]
movss dword [edx + ecx*8 - 0xc], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [edx + ecx*8 - 8], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [edx + ecx*8 - 4], xmm0
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x1c], xmm2
movss dword [edx + ecx*8 - 0x14], xmm1
movss xmm0, dword [esi + 0x48]
addss xmm0, dword [ebp - 0x24]
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [esi + 0x48]
addss xmm0, dword [ebp - 0x24]
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [edx + ecx*8 - 0x14], xmm0
movss xmm0, dword [edi + ebx + 0x10]
mov ebx, dword [ebp - 0x34]
addss xmm0, dword [ebx + 0x20]
movss dword [edx + ecx*8 - 0x24], xmm0
cmp byte [ebx + 0x1c], 0
je 0x1001a0eb
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
jmp 0x1001a0f6
mov ebx, dword [ebp - 0x34]
movss xmm2, dword [0x1002eb9c]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x38], ecx
xorps xmm3, xmm3
cmp ecx, dword [edx + 0xc]
jl 0x10019eb0
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
inc edi
movss xmm2, dword [0x1002eb9c]
add eax, 0x18
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], eax
cmp edi, dword [ecx + 0x34]
jl 0x10019e90
mov ecx, dword [ebx + 0x50]
call fcn.1001ace0
mov eax, dword [ebp - 0x5c]
mov edi, 0x100
mov ebx, dword [ebp - 0x40]
inc eax
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x28]
add edx, 0x54
movss xmm3, dword [0x1002eb80]
add ecx, 0x3c
movss xmm2, dword [0x1002eb9c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x28], ecx
cmp eax, dword [ebx + 0x2c]
jl 0x10019d85
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x10033018]
test ecx, ecx
je 0x1001a189
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x48]
add esp, 4
mov eax, dword [0x10033018]
test ecx, ecx
je 0x1001a1a7
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [0x10033018]
test ecx, ecx
je 0x1001a1c5
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
push 1
call fcn.1001a230
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1001a203
mov eax, dword [0x10033018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002644f
mov esp, ebp
pop ebp
ret