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

Disassembly:
sub esp, 0x18c
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x38], ebp
cmp dword [ebp + 0x48], 0
jge 0x10021922
lea eax, [esp + 0x50]
mov dword [esp + 0x58], 0xffffffff
push eax
lea ecx, [ebp + 0x30]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x54], 0x80000000
mov dword [esp + 0x58], 0x1b00b5
call fcn.100241a0
mov eax, dword [ebp + 0x30]
dec eax
mov dword [ebp + 0x48], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0
test ecx, ecx
je 0x10021963
mov eax, dword [0x10047020]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10021981
mov eax, dword [0x10047020]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
xor ebx, ebx
mov dword [ebp + 0xc], 0
xor esi, esi
mov dword [ebp + 0x10], 0
xor edi, edi
mov dword [esp + 0x24], esi
cmp dword [ebp + 0x3c], ebx
jle 0x100219f2
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x44]
mov edx, dword [eax + ecx + 0x30]
test edx, edx
jne 0x100219bc
mov dword [eax + ecx + 0x30], 0x10040e88
mov edx, 0x10040e88
cmp word [edx], 0
je 0x100219e5
movzx ecx, word [edx + 2]
test cx, cx
je 0x100219dd
movzx eax, word [edx]
inc ebx
add edx, 4
sub ecx, eax
add ebx, ecx
inc esi
cmp word [edx], 0
jne 0x100219c2
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], esi
inc edi
add ecx, 0x64
mov dword [esp + 0x14], ecx
cmp edi, dword [ebp + 0x3c]
jl 0x100219a4
mov edi, dword [ebp + 4]
test edi, edi
jg 0x10021a2a
cmp ebx, 0xfa0
jle 0x10021a08
mov edi, 0x1000
jmp 0x10021a2a
cmp ebx, 0x7d0
jle 0x10021a17
mov edi, 0x800
jmp 0x10021a2a
cmp ebx, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [0x10047020]
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x18], 0
push 0x30
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [0x10047020]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, edi
sub eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
inc dword [ecx + 0x310]
mov edx, dword [ecx + 0xbc]
lea ecx, [eax*8]
push ecx
call edx
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, eax
test edx, edx
je 0x10021adf
test ecx, ecx
je 0x10021adc
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, 0x8000
sub eax, dword [esp + 0x20]
push edx
push ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], 0x8000
mov dword [esp + 0x7c], 0
mov dword [esp + 0x6c], edi
call fcn.100179e0
add esp, 0xc
jmp 0x10021afa
push edx
jmp 0x10021ae4
test ecx, ecx
je 0x10021afa
push ecx
mov eax, dword [0x10047020]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov edx, dword [esp + 0x54]
mov eax, 1
mov ecx, ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
call fcn.100224f0
imul ecx, dword [ebp + 0x3c], 0x88
mov eax, dword [0x10047020]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
xor edi, edi
add esp, 4
mov ecx, eax
mov dword [esp + 0x3c], ecx
cmp dword [ebp + 0x3c], edi
jle 0x10021b90
xor eax, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], eax
mov edx, dword [ebp + 0x44]
mov esi, dword [edx + eax]
mov ecx, esi
mov edx, dword [edx + eax + 0xc]
call fcn.100186f0
mov edx, esi
mov esi, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.100189e0
add esp, 4
test eax, eax
je 0x10021d47
mov eax, dword [esp + 0x14]
inc edi
add eax, 0x64
add esi, 0x88
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], esi
cmp edi, dword [ebp + 0x3c]
jl 0x10021b47
mov esi, dword [esp + 0x24]
mov eax, dword [0x10047020]
lea edi, [ebx*8]
sub edi, ebx
mov dword [esp + 0x40], 0
shl edi, 2
push edi
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call eax
mov ecx, dword [0x10047020]
add esp, 4
shl ebx, 4
mov dword [esp + 0x30], eax
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push ebx
call ecx
mov ecx, dword [0x10047020]
lea esi, [esi + esi*2]
add esp, 4
shl esi, 3
mov dword [esp + 0x24], eax
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push esi
call ecx
add esp, 4
mov dword [esp + 0x14], eax
push edi
push 0
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push ebx
push 0
push dword [esp + 0x2c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x2c], 0
cmp dword [ebp + 0x3c], 0
jle 0x10021e4a
mov ebx, dword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x28], edx
nop dword [eax]
mov ecx, dword [ebp + 0x44]
xor esi, esi
add ecx, edx
mov dword [esp + 0x44], esi
xor ebp, ebp
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
mov edi, eax
test ax, ax
je 0x10021ca5
nop
movzx ecx, word [edx + 2]
test cx, cx
je 0x10021c9d
add edx, 4
movzx eax, ax
sub ecx, eax
inc esi
add esi, ecx
inc ebp
movzx eax, word [edx]
test ax, ax
jne 0x10021c80
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], esi
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x84], ebp
lea eax, [edx + edx*2]
add edx, ebp
lea eax, [edi + eax*8]
mov dword [esp + 0x4c], edx
xor edi, edi
mov dword [esp + 0x34], eax
mov dword [ebx + 0x80], eax
test ebp, ebp
jle 0x10021d73
xor eax, eax
mov dword [esp + 0x34], eax
nop dword [eax]
mov edx, dword [ecx + 0x30]
mov esi, dword [ebx + 0x80]
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 [esp + 0x40]
sub ecx, eax
inc ecx
add dword [esp + 0x40], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x1c]
lea eax, [edx*8]
sub eax, edx
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x34]
add eax, 0x18
mov dword [esp + 0x34], eax
cmp edi, ebp
jl 0x10021ce0
mov ebp, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
mov esi, dword [esp + 0x44]
jmp 0x10021d77
mov ecx, dword [esp + 0x3c]
mov eax, dword [0x10047020]
test ecx, ecx
je 0x10021d5a
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov eax, ecx
mov edx, dword [esp + 0x24]
add ecx, esi
shl eax, 4
add edx, eax
mov dword [ebx + 0x7c], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x78], edx
mov dword [esp + 0x48], ecx
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x18]
cmovbe esi, dword [eax + 0x14]
cmp ecx, 8
mov eax, dword [esp + 0x20]
push edx
cmovbe eax, ecx
mov dword [esp + 0x6c], esi
push ebp
push edi
mov edx, ebx
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x5c]
call fcn.1001df60
mov edx, dword [ebx + 0x78]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov esi, eax
push esi
call fcn.10017eb0
add esp, 4
test esi, esi
jle 0x10021e0c
mov edi, dword [esp + 0x38]
xor edx, edx
mov eax, dword [ebx + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x10021e04
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [edi + 0x18], ecx
cmovge ecx, dword [edi + 0x18]
mov dword [edi + 0x18], ecx
add edx, 0x10
sub esi, 1
jne 0x10021de4
mov edi, dword [esp + 0x2c]
add ebx, 0x88
mov ebp, dword [esp + 0x38]
inc edi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x6c]
add edx, 0x64
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], eax
cmp edi, dword [ebp + 0x3c]
jge 0x10021e44
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
jmp 0x10021c60
mov ebx, dword [esp + 0x68]
jmp 0x10021e4f
mov ebx, 1
mov ecx, dword [ebp + 0x18]
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 [ebp + 0x14]
inc eax
mov dword [ebp + 0x18], eax
imul ecx, eax
mov eax, dword [0x10047020]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [ebp + 0x14]
add esp, 4
imul ecx, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp dword [ebp + 0x3c], 0
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x18], 0
jle 0x10022028
mov edi, dword [esp + 0x3c]
xor ecx, ecx
mov edx, dword [esp + 0x20]
add edi, 0x7c
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edi
mov esi, dword [ebp + 0x44]
push dword [edi - 4]
add esi, ecx
lea ecx, [esp + 0x54]
push dword [edi + 8]
push dword [edi + 4]
cmp dword [esi + 0x14], 8
cmovbe ebx, dword [esi + 0x14]
cmp dword [esi + 0x18], 8
mov dword [esp + 0x74], ebx
cmovbe edx, dword [esi + 0x18]
mov dword [esp + 0x78], edx
lea edx, [edi - 0x7c]
call fcn.1001e2d0
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x10042c90]
movss dword [esp + 0x2c], xmm1
lahf
test ah, 0x44
jnp 0x10021ff1
xor esi, esi
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043210]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100391d0
movss xmm1, dword [esp + 0x2c]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [esp + esi + 0x98], dl
inc esi
cmp esi, 0x100
jb 0x10021f34
mov eax, dword [edi]
mov ebx, dword [edi - 4]
shl eax, 4
add eax, ebx
cmp ebx, eax
je 0x10021ff1
mov ebp, dword [esp + 0x60]
nop dword [eax]
cmp dword [ebx + 0xc], 0
je 0x10021fde
movzx eax, word [ebx + 0xa]
movzx edx, word [ebx + 8]
movzx edi, word [ebx + 6]
movzx esi, word [ebx + 4]
imul eax, ebp
add eax, dword [esp + 0x70]
add edx, eax
test edi, edi
je 0x10021fda
xor ecx, ecx
test esi, esi
je 0x10021fd3
nop dword [eax]
movzx eax, byte [ecx + edx]
mov al, byte [esp + eax + 0x98]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10021fc0
dec edi
add edx, ebp
test edi, edi
jg 0x10021fb3
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
add ebx, 0x10
shl eax, 4
add eax, dword [edi - 4]
cmp ebx, eax
jne 0x10021f90
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
inc eax
mov dword [edi - 4], 0
add ecx, 0x64
add edi, 0x88
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edi
cmp eax, dword [ebp + 0x3c]
jge 0x10022028
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
jmp 0x10021ee1
cmp dword [esp + 0x74], 0
mov eax, dword [0x10047020]
je 0x1002203a
dec dword [eax + 0x310]
push dword [esp + 0x74]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x10047020]
add esp, 4
cmp dword [esp + 0x54], 0
je 0x1002205b
dec dword [eax + 0x310]
push dword [esp + 0x54]
mov eax, dword [eax + 0xc0]
call eax
mov ecx, dword [esp + 0x28]
add esp, 4
mov eax, dword [0x10047020]
test ecx, ecx
je 0x1002207d
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov dword [esp + 0x48], 0
cmp dword [ebp + 0x3c], 0
jle 0x1002247f
mov ecx, dword [esp + 0x3c]
xor edx, edx
add ecx, 4
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], ecx
mov eax, 0x100
mov esi, dword [ecx]
mov edi, dword [ecx + 0x18]
mov ebx, dword [ebp + 0x44]
cwde
add ebx, edx
mov dword [esp + 0x24], ebx
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
movsx ecx, cx
imul ecx, eax
mov eax, 0x100
cwde
mov ebx, dword [ebx + 0x60]
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 5]
mov esi, dword [esp + 0x24]
movsx edx, dx
mov dword [esp + 0x2c], edx
add cx, ax
movss xmm1, dword [esi + 0x10]
movsx eax, cx
mov dword [esp + 0x18], eax
sub eax, edx
cmp byte [esi + 0x34], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp + 0x28], xmm1
jne 0x10022159
mov ecx, ebx
call fcn.100230d0
movd xmm0, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [ebx], eax
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], ebp
mulss xmm0, dword [esp + 0x28]
movss dword [ebx + 0x48], xmm0
movd xmm0, dword [esp + 0x2c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x28]
movss dword [ebx + 0x4c], xmm0
inc word [ebx + 0x3e]
xor edx, edx
movss xmm0, dword [esi + 0x28]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [ebx + 0x48]
addss xmm0, dword [0x10042c70]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + 0x2c]
movss dword [esp + 0x78], xmm0
cmp dword [ecx + 0x80], edx
jle 0x10022453
xor eax, eax
mov dword [esp + 0x2c], eax
mov ecx, dword [ecx + 0x7c]
xor ebp, ebp
add ecx, eax
mov dword [esp + 0x18], ecx
cmp dword [ecx + 0xc], ebp
jle 0x10022433
xor edi, edi
nop dword [eax]
mov edx, dword [ecx + 0x10]
movzx eax, word [edi + edx]
test ax, ax
jne 0x100221e5
cmp word [edi + edx + 4], ax
jne 0x100221e5
cmp word [edi + edx + 2], ax
jne 0x100221e5
cmp word [edi + edx + 6], ax
je 0x1002241e
mov eax, dword [ecx + 4]
add eax, ebp
cmp byte [esi + 0x34], 0
movzx eax, ax
mov dword [esp + 0x34], eax
je 0x1002222a
movzx esi, ax
cmp esi, dword [ebx + 0x28]
jge 0x1002221f
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + esi*2]
mov esi, 0xffff
cmp ax, si
je 0x1002221f
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
jmp 0x10022222
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x1002241a
mov eax, dword [esp + 0x38]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x10042c90]
movaps xmm1, xmm2
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
movzx eax, word [edi + edx]
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [edi + edx + 8]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [edi + edx + 0xc]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + edx + 0x14]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [edi + edx + 0x18]
movss dword [esp + 0x80], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0x84], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [esp + 0x88], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0x8c], xmm0
movd xmm0, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm0, xmm0
inc eax
push eax
mulss xmm0, xmm2
movss dword [esp + 0x94], xmm0
movss xmm0, dword [edi + edx + 0x10]
movss dword [esp + 0x98], xmm0
call fcn.100171a0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x18]
movss xmm0, dword [esp + 0x4c]
addss xmm0, dword [esp + 0x40]
lea ecx, [eax + eax*4]
movss xmm3, dword [esp + 0x84]
mov eax, dword [esp + 0x34]
movss xmm4, dword [esp + 0x88]
movss xmm1, dword [esp + 0x8c]
movss dword [edx + ecx*8 - 0x20], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [esp + 0x78]
movss xmm2, dword [esp + 0x90]
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x10], xmm3
movss dword [edx + ecx*8 - 0xc], xmm4
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [esp + 0x7c]
addss xmm0, dword [esp + 0x40]
movss dword [edx + ecx*8 - 8], xmm1
movss dword [edx + ecx*8 - 4], xmm2
movss dword [edx + ecx*8 - 0x18], xmm0
movss xmm0, dword [esp + 0x80]
addss xmm0, dword [esp + 0x78]
movss dword [edx + ecx*8 - 0x14], xmm0
mov eax, dword [ebx + 0x40]
movss xmm0, dword [esp + 0x94]
addss xmm0, dword [eax + 0x20]
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x40]
cmp byte [eax + 0x1c], 0
je 0x100223d5
addss xmm0, dword [0x10042c70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x44]
subss xmm1, xmm3
subss xmm2, xmm4
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x10042cb0]
mulss xmm0, xmm2
addss xmm0, dword [0x10042cb0]
cvttss2si ecx, xmm1
cvttss2si eax, xmm0
imul ecx, eax
add dword [ebx + 0x50], ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
inc ebp
add edi, 0x1c
cmp ebp, dword [ecx + 0xc]
jl 0x100221c0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
inc edx
add eax, 0x18
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
cmp edx, dword [ecx + 0x80]
jl 0x100221a7
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
add ecx, 0x88
mov edx, dword [esp + 0x44]
inc eax
add edx, 0x64
mov dword [esp + 0x48], eax
cmp eax, dword [ebp + 0x3c]
mov eax, 0x100
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], ecx
jl 0x100220b1
mov ecx, dword [esp + 0x30]
mov eax, dword [0x10047020]
test ecx, ecx
je 0x10022492
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [0x10047020]
test ecx, ecx
je 0x100224b1
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [esp + 0x40]
add esp, 4
mov eax, dword [0x10047020]
test ecx, ecx
je 0x100224d0
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, ebp
call fcn.10022d30
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x18c
ret