Function at 0x100c5b30
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10102cbe
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1f8
mov eax, dword [0x101190b8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x168], 0
mov eax, dword [0x101b8aa4]
movss xmm0, dword [esi + 4]
movss xmm1, dword [eax + 0x14]
mov al, byte [esi]
addss xmm1, xmm1
mov byte [ebp - 0x199], al
test al, al
je 0x100c5ba8
addss xmm0, xmm1
jmp 0x100c5bac
subss xmm0, xmm1
comiss xmm0, dword [0x1010d6b0]
lea edx, [esi + 4]
mov dword [ebp - 0x170], 0x3f800000
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x194], 0
lea eax, [ebp - 0x194]
movss xmm1, dword [0x1010d8b0]
xorps xmm2, xmm2
movss dword [esi + 4], xmm0
cmovbe ecx, edx
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm0, dword [eax]
movss dword [edx], xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [esi + 8], eax
test eax, eax
je 0x100c7410
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
seta al
test al, al
jne 0x100c5c31
comiss xmm2, xmm0
seta al
test al, al
je 0x100c5c2e
xorps xmm1, xmm1
jmp 0x100c5c31
movaps xmm1, xmm0
cmp byte [ebp - 0x199], 0
cvttss2si ecx, xmm1
mov dword [esi + 8], ecx
mov eax, dword [0x1010ae58]
mov dword [ebp - 0x16c], eax
mov eax, dword [0x1010ae4c]
mov byte [ebp - 0x169], cl
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x190], eax
je 0x100c5c73
mov byte [ebp - 0x165], 0x32
mov byte [ebp - 0x18d], 0x78
jmp 0x100c5c81
mov byte [ebp - 0x165], 0
mov byte [ebp - 0x18d], 0
test ecx, ecx
je 0x100c7410
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x28]
mov byte [ebp - 0x175], cl
mov ecx, dword [0x101b8a50]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x20]
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x164], eax
mov eax, dword [ecx]
mov word [ebp - 0x178], 0xf0f
mov byte [ebp - 0x176], 0xf
push dword [ebp - 0x178]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x164]
add eax, edi
push eax
mov eax, dword [ebp - 0x170]
add eax, esi
push eax
push dword [ebp - 0x164]
push esi
call edx
mov ecx, dword [ebp - 0x180]
push dword [ebp - 0x16c]
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x28]
mov edi, dword [ecx + 0x24]
mov dword [ebp - 0x164], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [0x101b8a50]
mov dword [ebp - 0x170], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x164]
add eax, esi
mov esi, dword [ebp - 0x170]
push eax
lea eax, [edi + esi]
push eax
push dword [ebp - 0x164]
push esi
call edx
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x178], 0
mov byte [ebp - 0x176], 0
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x28]
dec edi
mov dword [ebp - 0x170], eax
mov eax, dword [ecx + 0x20]
dec eax
mov dword [ebp - 0x164], eax
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], al
push dword [ebp - 0x178]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x164]
add eax, 2
add eax, esi
push eax
mov eax, dword [ebp - 0x170]
add eax, 2
add eax, edi
push eax
push dword [ebp - 0x164]
push edi
call edx
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x178], 0xe0e
mov byte [ebp - 0x176], 0xe
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 2
mov esi, dword [ecx + 0x1c]
inc edi
mov dword [ebp - 0x170], eax
inc esi
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], al
push dword [ebp - 0x178]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x1e]
push eax
mov eax, dword [ebp - 0x170]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x178], 0xd0d
mov byte [ebp - 0x176], 0xd
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 2
mov esi, dword [ecx + 0x1c]
inc edi
mov dword [ebp - 0x170], eax
inc esi
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], al
push dword [ebp - 0x178]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x1c]
push eax
mov eax, dword [ebp - 0x170]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x178], 0xc0c
mov byte [ebp - 0x176], 0xc
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 2
mov esi, dword [ecx + 0x1c]
inc edi
mov dword [ebp - 0x170], eax
inc esi
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], al
push dword [ebp - 0x178]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x1a]
push eax
mov eax, dword [ebp - 0x170]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x178], 0xa0a
mov byte [ebp - 0x176], 0xa
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 2
mov esi, dword [ecx + 0x1c]
inc edi
mov dword [ebp - 0x170], eax
inc esi
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], al
push dword [ebp - 0x178]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x19]
push eax
mov eax, dword [ebp - 0x170]
add eax, esi
push eax
push edi
push esi
call edx
mov eax, dword [0x10150704]
sub eax, 0
je 0x100c601f
sub eax, 1
jne 0x100c6353
mov ecx, dword [ebp - 0x180]
mov eax, dword [0x1014fb0c]
mov dword [ebp - 0x174], eax
mov al, byte [ecx + 8]
mov edi, dword [ecx + 0x20]
mov byte [ebp - 0x171], al
add edi, 0x1a
mov eax, dword [ecx + 0x1c]
mov ecx, dword [0x101b8a50]
inc eax
mov esi, dword [ebp - 0x174]
mov dword [ebp - 0x164], eax
push esi
mov eax, dword [ecx]
mov dword [ebp - 0x16c], edi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
inc edi
mov edx, dword [ebp - 0x164]
push 1
push 0
mov eax, dword [ecx]
add edx, 0x55
shr esi, 0x18
push esi
push edi
mov eax, dword [eax + 0x1ec]
push edx
push dword [ebp - 0x16c]
push dword [ebp - 0x164]
call eax
movzx esi, byte [ebp - 0x172]
movzx eax, byte [ebp - 0x173]
mov ecx, dword [0x101b8a50]
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0x174]
shl esi, 8
or esi, eax
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
push 1
shr esi, 0x18
push esi
mov esi, dword [ebp - 0x164]
push 0
push edi
lea edx, [esi + 0x55]
push edx
push dword [ebp - 0x16c]
push esi
jmp 0x100c6343
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
cdq
add edi, 7
sub eax, edx
mov dword [ebp - 0x184], edi
sar eax, 1
sub eax, 7
mov dword [ebp - 0x16c], eax
mov eax, dword [ecx + 0x1c]
add eax, 7
mov dword [ebp - 0x164], eax
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
movzx esi, al
shl esi, 0x18
mov dword [ebp - 0x170], esi
or esi, 0xc8a063
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
inc edi
mov edx, dword [ebp - 0x16c]
add edx, dword [ebp - 0x164]
push 1
mov eax, dword [ecx]
push 0
shr esi, 0x18
push esi
mov eax, dword [eax + 0x1ec]
push edi
push edx
push dword [ebp - 0x184]
push dword [ebp - 0x164]
call eax
mov ecx, dword [0x101b8a50]
mov esi, dword [ebp - 0x170]
or esi, 0xb566b3
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov edx, dword [ebp - 0x16c]
push 1
shr esi, 0x18
mov eax, dword [ecx]
push esi
push 0
push edi
mov edi, dword [ebp - 0x164]
add edx, edi
mov eax, dword [eax + 0x1ec]
push edx
push dword [ebp - 0x184]
push edi
call eax
mov esi, dword [ebp - 0x180]
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esi + 0x20]
add eax, 7
sar edi, 1
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x1c]
movzx esi, cl
add eax, edi
mov ecx, dword [0x101b8a50]
mov dword [ebp - 0x16c], eax
shl esi, 0x18
mov dword [ebp - 0x170], esi
or esi, 0xb566b3
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov edx, dword [ebp - 0x164]
push 1
push 0
mov eax, dword [ecx]
inc edx
mov ecx, dword [ebp - 0x16c]
shr esi, 0x18
add ecx, 0xfffffff9
push esi
mov eax, dword [eax + 0x1ec]
add edi, ecx
mov ecx, dword [0x101b8a50]
push edx
push edi
push dword [ebp - 0x164]
push dword [ebp - 0x16c]
call eax
mov ecx, dword [0x101b8a50]
mov esi, dword [ebp - 0x170]
or esi, 0x64d9e6
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
push 1
shr esi, 0x18
push esi
mov esi, dword [ebp - 0x164]
mov eax, dword [ecx]
push 0
lea edx, [esi + 1]
mov eax, dword [eax + 0x1ec]
push edx
push edi
push esi
push dword [ebp - 0x16c]
call eax
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
cdq
add edi, 8
sub eax, edx
mov dword [ebp - 0x184], edi
sar eax, 1
sub eax, 7
mov dword [ebp - 0x16c], eax
mov eax, dword [ecx + 0x1c]
add eax, 7
mov dword [ebp - 0x164], eax
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
movzx esi, al
shl esi, 0x18
mov dword [ebp - 0x170], esi
or esi, 0x634f31
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
inc edi
mov edx, dword [ebp - 0x16c]
add edx, dword [ebp - 0x164]
push 1
mov eax, dword [ecx]
push 0
shr esi, 0x18
push esi
mov eax, dword [eax + 0x1ec]
push edi
push edx
push dword [ebp - 0x184]
push dword [ebp - 0x164]
call eax
mov esi, dword [ebp - 0x170]
mov ecx, dword [0x101b8a50]
or esi, 0x5a3259
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov edx, dword [ebp - 0x16c]
push 1
shr esi, 0x18
mov eax, dword [ecx]
push esi
push 0
push edi
mov edi, dword [ebp - 0x164]
add edx, edi
mov eax, dword [eax + 0x1ec]
push edx
push dword [ebp - 0x184]
push edi
call eax
mov esi, dword [ebp - 0x180]
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esi + 0x20]
add eax, 8
sar edi, 1
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x1c]
movzx esi, cl
add eax, edi
mov ecx, dword [0x101b8a50]
mov dword [ebp - 0x16c], eax
shl esi, 0x18
mov dword [ebp - 0x170], esi
or esi, 0x5a3259
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov edx, dword [ebp - 0x164]
push 1
push 0
mov eax, dword [ecx]
inc edx
mov ecx, dword [ebp - 0x16c]
shr esi, 0x18
add ecx, 0xfffffff9
push esi
mov eax, dword [eax + 0x1ec]
add edi, ecx
mov ecx, dword [0x101b8a50]
push edx
push edi
push dword [ebp - 0x164]
push dword [ebp - 0x16c]
call eax
mov ecx, dword [0x101b8a50]
mov esi, dword [ebp - 0x170]
or esi, 0x316c72
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push 1
shr esi, 0x18
push esi
mov esi, dword [ebp - 0x164]
push 0
lea edx, [esi + 1]
push edx
push edi
push esi
push dword [ebp - 0x16c]
mov ecx, dword [0x101b8a50]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ec]
call eax
mov esi, dword [ebp - 0x180]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x174], ecx
cmp ecx, eax
je 0x100c7410
mov edx, dword [esi + 0x1c]
sub eax, ecx
inc edx
sar eax, 2
mov dword [ebp - 0x184], edx
xor edi, edi
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x164], edx
mov edx, dword [esi + 0x24]
sub edx, 2
mov dword [ebp - 0x18c], 8
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], 8
test eax, eax
je 0x100c63f4
nop dword [eax + eax]
mov eax, dword [esi + 0xc]
mov ecx, 0x101b94dc
mov eax, dword [eax + edi*4]
add eax, 0x3c
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.100e78c0
mov ecx, dword [ebp - 0x16c]
inc edi
add ecx, 0xa
mov eax, dword [eax]
add ecx, eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [esi + 0xc]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x174], ecx
cmp edi, eax
jb 0x100c63b0
mov eax, dword [esi + 0x10]
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x178], edx
sar eax, 2
test eax, eax
je 0x100c64d7
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x16c]
add eax, dword [ebp - 0x170]
mov esi, dword [ebp - 0x168]
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x194], eax
mov ecx, dword [ecx + edx*4]
mov eax, edi
mov edi, dword [ebp - 0x180]
push 0
lea edx, [ecx + 0x3c]
cmp ecx, dword [edi + 0x30]
mov ecx, 0x101b94dc
mov edi, dword [ebp - 0x18c]
cmove eax, esi
push edx
push eax
mov eax, dword [ebp - 0x164]
add eax, 0xa
push eax
mov eax, dword [ebp - 0x194]
add eax, 0xfffffffd
add eax, edi
push eax
call fcn.100e7670
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + edx*4]
mov ecx, 0x101b94dc
add eax, 0x3c
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.100e78c0
mov edx, dword [ebp - 0x178]
add edi, 0xa
inc edx
mov dword [ebp - 0x178], edx
mov eax, dword [eax]
add edi, eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x18c], edi
mov edi, dword [ebp - 0x190]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, ecx
mov dword [ebp - 0x174], ecx
sar eax, 2
cmp edx, eax
jb 0x100c6430
mov esi, dword [ebp - 0x180]
push 7
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push str.chungus
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10029c40
push 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
mov ecx, dword [esi + 8]
push eax
push ecx
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x101b94dc
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x164]
add eax, 0xa
push eax
mov eax, dword [ebp - 0x184]
add eax, 7
push eax
call fcn.100e7670
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100c6579
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c656f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c656f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100f9140
add esp, 8
push 7
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push str.chungus
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10029c40
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x1a4]
mov ecx, 0x101b94dc
push eax
call fcn.100e78c0
mov eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x194], eax
cmp edx, 0x10
jb 0x100c6602
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c65f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c65f8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100f9140
add esp, 8
mov eax, dword [0x1014fb0c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18c], eax
mov al, byte [esi + 8]
push 4
mov dword [ebp - 0x2c], 0
push str.hook
mov byte [ebp - 0x189], al
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10029c40
mov edi, dword [ebp - 0x18c]
lea eax, [ebp - 0x2c]
push 0
push eax
mov eax, dword [ebp - 0x164]
add eax, 0xa
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x194]
push edi
push eax
mov eax, dword [ebp - 0x184]
add ecx, 7
add eax, ecx
mov ecx, 0x101b94dc
push eax
call fcn.100e7670
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100c66b5
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c66ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c66ab
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100f9140
add esp, 8
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x54]
cmp eax, dword [ecx + 0x58]
je 0x100c7410
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
add eax, 0x2d
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 0x24]
add eax, 0xffffffd8
mov dword [ebp - 0x174], edi
mov dword [ebp - 0x194], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0xac]
push ecx
push eax
mov ecx, 0x101b94dc
call fcn.100e78c0
mov eax, dword [esi + 0x30]
mov ecx, 0x101b94dc
add eax, 0x18
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.100e78c0
mov eax, dword [esi + 8]
lea esi, [edi + 9]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x165], al
mov eax, dword [ebp - 0x194]
cdq
sub eax, edx
mov word [ebp - 0x168], 0x1414
mov edx, dword [ecx]
mov byte [ebp - 0x166], 0x14
push dword [ebp - 0x168]
sar eax, 1
mov edx, dword [edx + 0x38]
mov dword [ebp - 0x178], eax
call edx
mov edi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x188]
add edi, 0xffffffbf
mov ecx, dword [0x101b8a50]
add edx, edi
mov edi, dword [ebp - 0x178]
push edx
mov edx, dword [ebp - 0x174]
add edi, 5
mov eax, dword [ecx]
add esi, edi
push esi
push dword [ebp - 0x188]
add edx, 9
mov eax, dword [eax + 0x40]
push edx
call eax
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x168], 0xa0a
mov byte [ebp - 0x166], 0xa
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x165], al
push dword [ebp - 0x168]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edi, dword [ebp - 0x188]
mov edx, dword [ebp - 0x190]
add edi, 0xffffffbf
mov ecx, dword [0x101b8a50]
add edx, edi
push edx
push esi
mov esi, dword [ebp - 0x174]
mov eax, dword [ecx]
push dword [ebp - 0x188]
lea edx, [esi + 9]
mov eax, dword [eax + 0x48]
push edx
call eax
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x168], 0x1414
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
add esi, 0x1b
mov edi, dword [ebp - 0x178]
add esi, edi
mov byte [ebp - 0x165], al
mov byte [ebp - 0x166], 0x14
mov eax, dword [ecx]
push dword [ebp - 0x168]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
add edi, 5
mov edx, dword [ebp - 0x190]
add esi, edi
mov edi, dword [ebp - 0x188]
add edi, 0xffffffbf
mov eax, dword [ecx]
add edx, edi
mov ecx, dword [ebp - 0x178]
push edx
mov edx, dword [ebp - 0x174]
add ecx, 0x1b
mov eax, dword [eax + 0x40]
add edx, ecx
mov ecx, dword [0x101b8a50]
push esi
push dword [ebp - 0x188]
push edx
call eax
mov ecx, dword [ebp - 0x180]
mov word [ebp - 0x168], 0xa0a
mov byte [ebp - 0x166], 0xa
mov eax, dword [ecx + 8]
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x165], al
push dword [ebp - 0x168]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edi, dword [ebp - 0x188]
mov ecx, dword [0x101b8a50]
add edi, 0xffffffbf
mov edx, dword [ebp - 0x190]
add edx, edi
mov edi, dword [ebp - 0x178]
push edx
mov eax, dword [ecx]
add edi, 0x1b
mov edx, dword [ebp - 0x174]
push esi
push dword [ebp - 0x188]
mov eax, dword [eax + 0x48]
add edx, edi
push edx
call eax
mov edi, dword [ebp - 0x18c]
xor eax, eax
mov dword [ebp - 0x1a8], 0x27736448
mov dword [ebp - 0x1a4], 0x35273436
mov dword [ebp - 0x1a0], 0x7333537
nop word [eax + eax]
xor byte [ebp + eax - 0x1a8], 7
inc eax
cmp eax, 0xc
jb 0x100c6910
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c6946
sub ecx, edx
lea eax, [ebp - 0x1a8]
push ecx
push eax
lea ecx, [ebp - 0x8c]
call fcn.10029c40
push 0xa8
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 3
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x160], 0x1010d1d8
lea ecx, [ebp - 0x100]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x168], 1
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x160]
push 1
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x160], 0x1010d1e0
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x60]
mov dword [ebp + ecx - 0x164], eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x150]
call fcn.1003a290
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x160]
call fcn.1003b910
lea edx, [ebp - 0x44]
mov ecx, eax
call fcn.1003b910
lea edx, [ebp - 0x74]
mov ecx, eax
call fcn.1003b910
cmp dword [ebp - 0x34], 1
jne 0x100c6ae3
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push 1
cmovae eax, dword [ebp - 0x44]
push eax
push 1
push 0x1010bbe8
push ecx
push dword [ebp - 0x1a0]
lea ecx, [ebp - 0x1f0]
call fcn.100433d0
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x44]
call fcn.10039df0
mov edx, dword [ebp - 0x1dc]
cmp edx, 0x10
jb 0x100c6ae3
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c6ad9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 1
jb 0x100c742e
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
push 1
cmovae eax, dword [ebp - 0x2c]
push 0x1010bbe8
push ecx
push eax
push ecx
push dword [ebp - 0x1a0]
lea ecx, [ebp - 0x1f0]
call fcn.100433d0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x1f0]
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.1003a550
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1d8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x1010bbe8
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0xb
call fcn.1003a550
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1b0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x74]
cmp dword [ebp - 0x60], 0x10
lea ecx, [ebp - 0x1c0]
push dword [ebp - 0x64]
cmovae eax, dword [ebp - 0x74]
push eax
call fcn.1003a550
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x1ac]
cmp edx, 0x10
jb 0x100c6c6f
mov ecx, dword [ebp - 0x1c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c6c65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c6d0f
push edx
push ecx
call fcn.100f9140
add esp, 8
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x1c4]
cmp edx, 0x10
jb 0x100c6cc4
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c6cba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c6d0f
push edx
push ecx
call fcn.100f9140
add esp, 8
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x1dc]
cmp edx, 0x10
jb 0x100c6d1f
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c6d15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c6d15
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100f9140
add esp, 8
cmp dword [ebp - 0x48], 0x10
lea eax, [ebp - 0x5c]
movaps xmm0, xmmword [str._a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_ani_pnsoflns_r_aehjeunjbu_4C._aehjesnjbu_5C._awkfbuX_nqbiXd3_ahaatdubbiXjhcb6_a_8888_2D__a88_E3D536D_a537A_E21AD_atsfssuflXcbf_kb_afrshwbblXdnudkb_aehcwhnistdfkb_aifjbahistskb_aXlinabXwrto_jck_aXlinabXaknw_jck_awunhunssfu_bs_aeftbXfpXhaatbs_aehjeXeb_niwkfis_aehjeXfehuswkfis_acufpjrksnwhnis_achujfisbibjnbt_acuhwwbcpbfwhit_aqbusn_hekrbXocu_aeh]
cmovae eax, dword [ebp - 0x5c]
pxor xmm0, xmmword [0x1010ea40]
mov dword [ebp - 0x1a0], eax
mov eax, 0x10
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
mov dword [ebp - 0x1f4], 0x7742227
movups xmmword [ebp - 0x204], xmm0
xor byte [ebp + eax - 0x204], 7
inc eax
cmp eax, 0x14
jb 0x100c6d70
lea eax, [ebp - 0x1a0]
push 0x1013c6c0
push eax
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0xa4]
call fcn.1004e120
add esp, 8
mov esi, dword [ebp - 0x180]
lea eax, [ebp - 0xa4]
push 1
push eax
mov byte [ebp - 4], 0x11
mov ecx, dword [esi + 8]
push ecx
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x190]
mov word [eax], 0xcdcd
add ecx, 0xffffffc5
mov byte [eax + 2], 0xcd
mov eax, dword [ebp - 0x188]
add eax, ecx
mov ecx, dword [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x174]
add ecx, 0x1f
add eax, ecx
mov ecx, 0x101b94dc
push eax
call fcn.100e7670
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x194], eax
cmp eax, ecx
je 0x100c6e41
mov edi, ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x100c6e2e
mov edx, dword [esi + 0x34]
test edx, edx
je 0x100c6e17
cmp ecx, edx
je 0x100c6e2e
cmp byte [ecx + 0x68], 0
je 0x100c6e2e
test byte [ecx + 0x50], 1
je 0x100c6e2e
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x194]
add eax, 4
mov dword [ebp - 0x194], eax
cmp eax, edi
jne 0x100c6e06
mov edi, dword [ebp - 0x18c]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x100c6e53
cmp byte [ecx + 0x68], 0
je 0x100c6e53
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 8]
push 0
push dword [esi + 0x30]
push ecx
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x188]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0xa8]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x174]
dec ecx
add eax, 0x18
push ecx
push eax
mov ecx, 0x101b94dc
call fcn.100e7670
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 8]
add eax, 0x18
push 0
push eax
push ecx
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x188]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0xb0]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x174]
dec ecx
push ecx
mov ecx, dword [ebp - 0x178]
add ecx, 0x2b
add eax, ecx
mov ecx, 0x101b94dc
push eax
call fcn.100e7670
cmp dword [esi + 0x30], 0
je 0x100c71bc
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov edx, dword [esi + 0xc]
sub eax, edx
movss xmm0, dword [0x1010d7c8]
movss xmm4, dword [0x1010d650]
sar eax, 2
movss dword [ebp - 0x168], xmm0
mov dword [ebp - 0x194], ecx
test eax, eax
je 0x100c6f79
mov eax, dword [edx + ecx*4]
lea ecx, [eax + 0x3c]
push ecx
mov ecx, 0x101b94dc
cmp eax, dword [esi + 0x30]
je 0x100c7378
lea eax, [ebp - 0x17c]
push eax
call fcn.100e78c0
mov ecx, dword [ebp - 0x194]
mov edx, dword [esi + 0xc]
inc ecx
mov dword [ebp - 0x194], ecx
mov eax, dword [eax]
add eax, 0xa
movd xmm0, eax
mov eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
sub eax, edx
sar eax, 2
addss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x168], xmm0
cmp ecx, eax
jb 0x100c6f18
movss xmm4, dword [0x1010d650]
movss xmm5, dword [0x1010d6b0]
movss xmm3, dword [0x10152d08]
movss xmm0, dword [0x10152d04]
movaps xmm1, xmm3
addss xmm1, dword [0x1010d7d0]
movaps xmm2, xmm3
subss xmm2, dword [0x1010d7d0]
comiss xmm0, xmm1
ja 0x100c6fb3
movaps xmm1, xmm2
maxss xmm1, xmm0
subss xmm3, xmm1
movzx eax, byte [ebp - 0x18c]
mov byte [ebp - 0x178], al
movzx eax, byte [ebp - 0x18b]
mov byte [ebp - 0x177], al
movzx eax, byte [ebp - 0x18a]
mulss xmm3, dword [0x1010d5e4]
mov byte [ebp - 0x176], al
mov ecx, dword [0x101b8a50]
mov byte [ebp - 0x175], 0
addss xmm3, xmm1
mov esi, dword [ebp - 0x178]
movss xmm1, dword [0x10152d0c]
subss xmm1, dword [0x10152d10]
push esi
movss dword [0x10152d04], xmm3
movss dword [ebp - 0x168], xmm3
mulss xmm1, dword [0x1010d600]
addss xmm1, dword [0x10152d10]
movaps xmm0, xmm1
movss dword [ebp - 0x184], xmm1
mulss xmm0, xmm4
movss dword [0x10152d10], xmm1
addss xmm0, xmm5
cvttss2si eax, xmm0
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x164]
add eax, 0x1a
mov dword [ebp - 0x174], eax
cvttss2si eax, xmm3
mov dword [ebp - 0x164], eax
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0x194], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov esi, dword [ebp - 0x174]
mov ecx, dword [0x101b8a50]
inc esi
mov edx, dword [ebp - 0x16c]
add edx, dword [ebp - 0x164]
push 1
mov eax, dword [ecx]
push 0
push dword [ebp - 0x194]
mov eax, dword [eax + 0x1ec]
push esi
push edx
push dword [ebp - 0x174]
push dword [ebp - 0x164]
call eax
mov ecx, dword [0x101b8a50]
mov eax, edi
shr eax, 0x18
mov dword [ebp - 0x170], eax
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101b8a50]
mov edx, dword [ebp - 0x164]
add edx, dword [ebp - 0x16c]
push 1
push dword [ebp - 0x170]
mov eax, dword [ecx]
push 0
push esi
push edx
push dword [ebp - 0x174]
mov eax, dword [eax + 0x1ec]
push dword [ebp - 0x164]
call eax
movss xmm0, dword [ebp - 0x184]
mulss xmm0, dword [0x1010d650]
mov ecx, dword [0x101b8a50]
addss xmm0, dword [ebp - 0x168]
subss xmm0, dword [0x1010d6b0]
cvttss2si eax, xmm0
mov dword [ebp - 0x164], eax
mov eax, dword [ecx]
mov edi, dword [ebp - 0x18c]
mov eax, dword [eax + 0x38]
push edi
call eax
mov ecx, dword [0x101b8a50]
mov esi, dword [ebp - 0x174]
mov edx, dword [ebp - 0x164]
inc esi
mov edi, dword [ebp - 0x16c]
mov eax, dword [ecx]
add edi, edx
push 1
push 0
push dword [ebp - 0x170]
mov eax, dword [eax + 0x1ec]
push esi
push edi
push dword [ebp - 0x174]
push edx
call eax
mov ecx, dword [0x101b8a50]
mov esi, dword [ebp - 0x178]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov esi, dword [ebp - 0x174]
mov ecx, dword [0x101b8a50]
push 1
push dword [ebp - 0x194]
lea edx, [esi + 1]
mov eax, dword [ecx]
push 0
push edx
push edi
mov eax, dword [eax + 0x1ec]
push esi
push dword [ebp - 0x164]
call eax
mov edx, dword [ebp - 0x90]
cmp edx, 0x10
jb 0x100c71f6
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c71ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp edx, 0x10
jb 0x100c7245
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c723b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x100c728b
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7281
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100c72bf
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c72b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100c72f3
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c72e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c7372
push edx
push ecx
call fcn.100f9140
add esp, 8
mov eax, dword [ebp - 0x160]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x160], 0x1010d1e0
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x60]
mov dword [ebp + ecx - 0x164], eax
lea ecx, [ebp - 0x150]
call fcn.100295d0
lea ecx, [ebp - 0x148]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x100]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov edx, dword [ebp - 0x78]
cmp edx, 0x10
jb 0x100c7410
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7406
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7406
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea eax, [ebp - 0x198]
push eax
call fcn.100e78c0
mov ecx, dword [ebp - 0x170]
movss xmm4, dword [0x1010d650]
add ecx, 0xfffffffd
movss xmm5, dword [0x1010d6b0]
movd xmm1, dword [eax]
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x16c]
add eax, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm2, xmm1
mulss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x1010e200]
addss xmm2, dword [0x1010d7c8]
cvtpd2ps xmm3, xmm0
movss dword [0x10152d0c], xmm2
addss xmm3, dword [ebp - 0x168]
mulss xmm2, xmm4
addss xmm3, xmm1
subss xmm3, xmm2
addss xmm3, xmm5
movss dword [0x10152d08], xmm3
jmp 0x100c6f89
push edx
push ecx
call fcn.100f9140
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100f8cc5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100211f0
int3