Function at 0x100aa059
Capabilities:
Encode data using xor
Hash data using fnv
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d3c29
mov eax, dword fs:[0]
push eax
mov eax, 0x1a24
call fcn.100caa70
mov eax, dword [0x100ee008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
mov eax, 0xf
mov dword [ebp - 0x14], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x1a30], ecx
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], eax
mov byte [ebp - 0x98], 0
mov dword [ebp - 4], 0
test ecx, ecx
je 0x100ab496
cmp dword [0x10330d0c], 0
je 0x100ab496
mov eax, dword [0x1044ffb8]
mov edi, dword [ecx + 8]
test al, 1
jne 0x100a9dff
or eax, 1
mov dword [0x1044ffb8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a14]
call fcn.1004ee40
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1044ffbc
call fcn.1004f2a0
push 0x100d5470
call fcn.100c9c85
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1044ffbc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x100a9e89
test esi, esi
je 0x100a9e89
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x1a00], ecx
test ecx, ecx
je 0x100a9e89
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9e69
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9e40
xor edx, edx
test ecx, ecx
je 0x100a9e69
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9e50
cmp edi, 0xd791104e
je 0x100a9e81
mov ecx, dword [ebp - 0x1a00]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1a00], ecx
test ecx, ecx
je 0x100a9e89
mov esi, dword [ebp - 0x14]
jmp 0x100a9e20
mov ecx, dword [ebp - 0x1a00]
jmp 0x100a9e8b
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a9e95.2
jmp dword [eax*4 + 0x100ab4f8]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100a9ef0
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100a9ef0
vmovss xmm0, dword [ecx + 0xc]
vmovss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [ebp - 0x18]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x18], 1
vmovsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fstp dword [ebp - 0x14]
vcvttss2si edx, dword [ebp - 0x14]
jmp 0x100a9ef0
xor edx, edx
jmp 0x100a9ef0
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x104480ec]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x104480f0]
push eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ecx, esi
call edx
mov dword [ebp - 0x1a1c], eax
test eax, eax
je 0x100ab490
mov ecx, dword [ebp - 0x1a30]
mov edi, dword [ecx + 8]
mov ecx, dword [0x1044ffb8]
test cl, 1
jne 0x100a9f6f
or ecx, 1
mov dword [0x1044ffb8], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a14]
call fcn.1004ee40
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1044ffbc
call fcn.1004f2a0
push 0x100d5470
call fcn.100c9c85
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1044ffbc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x100a9ff9
test esi, esi
je 0x100a9ff9
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x1a00], ecx
test ecx, ecx
je 0x100a9ff9
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9fd9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9fb0
xor edx, edx
test ecx, ecx
je 0x100a9fd9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9fc0
cmp edi, 0x11ab48ff
je 0x100a9ff1
mov ecx, dword [ebp - 0x1a00]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1a00], ecx
test ecx, ecx
je 0x100a9ff9
mov esi, dword [ebp - 0x14]
jmp 0x100a9f90
mov ecx, dword [ebp - 0x1a00]
jmp 0x100a9ffb
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100aa005.2
jmp dword [eax*4 + 0x100ab514]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100aa060
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100aa060
vmovss xmm0, dword [ecx + 0xc]
vmovss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [ebp - 0x18]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x18], 1
vmovsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fstp dword [ebp - 0x14]
vcvttss2si edx, dword [ebp - 0x14]
jmp 0x100aa060
xor edx, edx
jmp 0x100aa060
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x104480ec]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x104480f0]
push eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ecx, esi
call edx
mov edi, eax
mov dword [ebp - 0x1a28], edi
test edi, edi
je 0x100ab490
mov esi, dword [ebp - 0x1a1c]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x28]
lea ecx, [esi + 8]
call edx
cmp eax, 1
jl 0x100ab490
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x40
jg 0x100ab490
mov eax, dword [edi + 8]
add edi, 8
mov ecx, edi
mov dword [ebp - 0x1a2c], edi
mov eax, dword [eax + 0x28]
call eax
cmp eax, 1
jl 0x100ab490
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x40
jg 0x100ab490
mov eax, dword [0x10330d0c]
cmp esi, eax
jne 0x100ab490
cmp dword [ebp - 0x1a28], eax
je 0x100ab490
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [eax + 8]
mov eax, dword [0x1044ffb8]
mov dword [ebp - 0x14], ecx
test al, 1
jne 0x100aa156
or eax, 1
mov dword [0x1044ffb8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1a24]
call fcn.1004ee40
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1044ffbc
call fcn.1004f2a0
push 0x100d5470
call fcn.100c9c85
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1044ffbc]
call eax
mov esi, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1a0c], esi
test eax, eax
je 0x100aa1fe
test esi, esi
je 0x100aa1fe
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x19fc], ecx
test ecx, ecx
je 0x100aa1fe
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100aa1db
mov eax, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100aa1a3
xor edx, edx
test ecx, ecx
je 0x100aa1db
mov edi, eax
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100aa1b2
mov dword [ebp - 0x1a00], edi
cmp dword [ebp - 0x1a00], 0x2a7e565d
mov edi, dword [ebp - 0x1a2c]
je 0x100aa1f6
mov ecx, dword [ebp - 0x19fc]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x19fc], ecx
test ecx, ecx
je 0x100aa1fe
mov esi, dword [ebp - 0x1a0c]
jmp 0x100aa185
mov ecx, dword [ebp - 0x19fc]
jmp 0x100aa200
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100aa20a.2
jmp dword [eax*4 + 0x100ab530]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100aa271
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100aa271
vmovss xmm0, dword [ecx + 0xc]
vmovss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [ebp - 0x18]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x18], 1
vmovsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fstp dword [ebp - 0x14]
vcvttss2si eax, dword [ebp - 0x14]
jmp 0x100aa271
xor ecx, ecx
mov dword [ebp - 0x1a04], 0
mov dword [ebp - 0x1a00], ecx
jmp 0x100aa286
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1a04], eax
mov dword [ebp - 0x1a00], eax
cmp eax, 0xa
je 0x100ab490
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov esi, dword [0x104480ec]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [ebp - 0x19f0]
push ecx
push eax
mov ecx, esi
call edx
test al, al
je 0x100ab490
vpxor xmm0, xmm0, xmm0
lea ecx, [ebp - 0x19e0]
mov dword [ebp - 0x28], 0
vmovdqu xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa2d0
sub ecx, edx
lea eax, [ebp - 0x19e0]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.1002dc00
mov byte [ebp - 4], 4
lea eax, [ebp - 0x38]
mov ecx, 0x18
mov dword [ebp - 0x40], 0
cmp dword [ebp - 0x28], ecx
vpxor xmm0, xmm0, xmm0
cmovb ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x24], 0x10
push ecx
cmovae eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x50]
push eax
vmovdqu xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1002dc00
lea eax, [ebp - 0x50]
mov dword [ebp - 0x14], 0x20
push eax
lea ecx, [ebp - 0x98]
call fcn.1002d4a0
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100aa36f
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa365
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab4be
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100aa3a7
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa39d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab4be
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [eax + 8]
mov eax, dword [0x1044ffb8]
mov dword [ebp - 0x1a0c], ecx
test al, 1
jne 0x100aa3fd
or eax, 1
mov dword [0x1044ffb8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a24]
call fcn.1004ee40
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1044ffbc
call fcn.1004f2a0
push 0x100d5470
call fcn.100c9c85
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1044ffbc]
call eax
mov esi, eax
mov eax, dword [ebp - 0x1a0c]
mov dword [ebp - 0x1a08], esi
test eax, eax
je 0x100aa4ac
test esi, esi
je 0x100aa4ac
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1a18], ecx
test ecx, ecx
je 0x100aa4ac
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100aa489
mov eax, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100aa450
xor edx, edx
test ecx, ecx
je 0x100aa489
mov edi, eax
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100aa460
mov dword [ebp - 0x19fc], edi
cmp dword [ebp - 0x19fc], 0xa0d9523e
mov edi, dword [ebp - 0x1a2c]
je 0x100aa4a4
mov ecx, dword [ebp - 0x1a18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1a18], ecx
test ecx, ecx
je 0x100aa4ac
mov esi, dword [ebp - 0x1a08]
jmp 0x100aa430
mov ecx, dword [ebp - 0x1a18]
jmp 0x100aa4ae
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100aa4b8.2
jmp dword [eax*4 + 0x100ab54c]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100aa527
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100aa527
vmovss xmm0, dword [ecx + 0xc]
vmovss dword [ebp - 0x1a0c], xmm0
fld dword [ebp - 0x1a0c]
fstp qword [ebp - 0x1a10]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x1a10], 1
vmovsd qword [ebp - 0x1a10], xmm0
fld qword [ebp - 0x1a10]
fstp dword [ebp - 0x1a0c]
vcvttss2si eax, dword [ebp - 0x1a0c]
jmp 0x100aa527
xor eax, eax
jmp 0x100aa527
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1a18], eax
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [eax + 8]
mov eax, dword [0x1044ffb8]
mov dword [ebp - 0x1a0c], ecx
test al, 1
jne 0x100aa580
or eax, 1
mov dword [0x1044ffb8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.1004ee40
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1044ffbc
call fcn.1004f2a0
push 0x100d5470
call fcn.100c9c85
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1044ffbc]
call eax
mov esi, eax
mov eax, dword [ebp - 0x1a0c]
mov dword [ebp - 0x1a08], esi
test eax, eax
je 0x100aa62c
test esi, esi
je 0x100aa62c
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1a1c], ecx
test ecx, ecx
je 0x100aa62c
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100aa609
mov eax, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100aa5d0
xor edx, edx
test ecx, ecx
je 0x100aa609
mov edi, eax
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100aa5e0
mov dword [ebp - 0x19fc], edi
cmp dword [ebp - 0x19fc], 0x6b98ed8f
mov edi, dword [ebp - 0x1a2c]
je 0x100aa624
mov ecx, dword [ebp - 0x1a1c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1a1c], ecx
test ecx, ecx
je 0x100aa62c
mov esi, dword [ebp - 0x1a08]
jmp 0x100aa5b2
mov ecx, dword [ebp - 0x1a1c]
jmp 0x100aa62e
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100aa638.2
jmp dword [eax*4 + 0x100ab568]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov esi, eax
jmp 0x100aa6ab
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov esi, eax
jmp 0x100aa6ab
vmovss xmm0, dword [ecx + 0xc]
vmovss dword [ebp - 0x19f4], xmm0
fld dword [ebp - 0x19f4]
fstp qword [ebp - 0x19f8]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x19f8], 1
vmovsd qword [ebp - 0x19f8], xmm0
fld qword [ebp - 0x19f8]
fstp dword [ebp - 0x19f4]
vcvttss2si esi, dword [ebp - 0x19f4]
jmp 0x100aa6ab
xor esi, esi
jmp 0x100aa6ab
mov esi, dword [ecx + 0xc]
mov eax, dword [0x102cd670]
mov ecx, eax
mov edx, dword [0x102cd674]
mov dword [ebp - 0x19f4], esi
cmp ecx, edx
je 0x100aa6d2
cmp dword [ecx], 0
je 0x100aa6ce
add ecx, 8
cmp ecx, edx
jne 0x100aa6c2
cmp ecx, edx
jne 0x100aa6e6
cmp eax, edx
je 0x100aa728
cmp dword [eax], 1
je 0x100aa6e2
add eax, 8
cmp eax, edx
jne 0x100aa6d6
cmp eax, edx
je 0x100aa728
mov eax, dword [0x1044814c]
cmp esi, 1
vmovss xmm1, dword [0x100e2bac]
vmovss dword [0x1044fc10], xmm1
vmovss xmm0, dword [eax + 0x10]
mov eax, dword [0x100ee22c]
cmovl eax, dword [0x102b53ec]
vmovss dword [0x1044fc08], xmm0
vaddss xmm0, xmm0, xmm1
vmovss dword [0x1044fc0c], xmm0
mov dword [0x1044fc14], eax
cmp byte [0x102cd4a0], 0
mov ecx, dword [ebp - 0x1a28]
mov esi, dword [ebp - 0x1a04]
je 0x100aa9bd
mov eax, dword [0x1044fdc8]
add eax, 0xffffffbb
xor eax, 0x9b265b4
cmp byte [eax + ecx], 0
je 0x100aa9bd
cmp esi, 1
jne 0x100aa9bd
mov eax, dword [0x104480e0]
lea esi, [ecx + 4]
mov ecx, esi
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1a1c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 0x1a0c], eax
test eax, eax
je 0x100aa98e
mov eax, dword [0x10448124]
push dword [ebp - 0x1a0c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x78]
mov ecx, eax
call edx
test eax, eax
je 0x100aa98e
mov ecx, dword [eax + 0xb0]
add ecx, eax
je 0x100aa98e
mov eax, dword [ecx + 8]
add eax, 0x44
add eax, ecx
mov dword [ebp - 0x1a0c], eax
je 0x100aa98e
mov eax, dword [esi]
push ecx
vxorps xmm0, xmm0, xmm0
vmovss dword [esp], xmm0
mov eax, dword [eax + 0x34]
lea ecx, [ebp - 0x1898]
push pe_nt_image_headers32
push 0x80
push ecx
mov ecx, esi
call eax
test al, al
je 0x100aa98e
mov ecx, dword [ebp - 0x1a0c]
mov eax, dword [ecx]
cmp eax, 0x80
jae 0x100ab4eb
vmovss xmm4, dword [ecx + 0xc]
vmovss xmm2, dword [ecx + 8]
vmovss xmm3, dword [ecx + 0x10]
lea eax, [eax + eax*2]
add eax, eax
vmovss xmm6, dword [ecx + 0x18]
vmovss xmm5, dword [ecx + 0x1c]
vmulss xmm1, xmm2, dword [ebp + eax*8 - 0x1898]
vmulss xmm0, xmm4, dword [ebp + eax*8 - 0x1894]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [ebp + eax*8 - 0x1890]
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm0, dword [ebp + eax*8 - 0x188c]
vmulss xmm1, xmm2, dword [ebp + eax*8 - 0x1888]
vmovss xmm7, dword [ebp + eax*8 - 0x1878]
vmovss dword [ebp - 0x1a0c], xmm0
vmulss xmm0, xmm4, dword [ebp + eax*8 - 0x1884]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [ebp + eax*8 - 0x1880]
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm0, dword [ebp + eax*8 - 0x187c]
vmovss dword [ebp - 0x1a08], xmm0
vmulss xmm0, xmm4, dword [ebp + eax*8 - 0x1874]
vmovss xmm4, dword [ecx + 0x14]
vmulss xmm1, xmm7, xmm2
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [ebp + eax*8 - 0x1870]
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm0, dword [ebp + eax*8 - 0x186c]
vmulss xmm1, xmm6, dword [ebp + eax*8 - 0x1894]
vmovss dword [ebp - 0x20], xmm0
vmulss xmm0, xmm4, dword [ebp + eax*8 - 0x1898]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm5, dword [ebp + eax*8 - 0x1890]
vaddss xmm0, xmm1, xmm0
vaddss xmm3, xmm0, dword [ebp + eax*8 - 0x188c]
vmulss xmm1, xmm4, dword [ebp + eax*8 - 0x1888]
vmulss xmm0, xmm6, dword [ebp + eax*8 - 0x1884]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm5, dword [ebp + eax*8 - 0x1880]
vaddss xmm0, xmm1, xmm0
vaddss xmm2, xmm0, dword [ebp + eax*8 - 0x187c]
vmulss xmm0, xmm6, dword [ebp + eax*8 - 0x1874]
vaddss xmm2, xmm2, dword [ebp - 0x1a08]
vmulss xmm1, xmm7, xmm4
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm5, dword [ebp + eax*8 - 0x1870]
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm0, dword [ebp + eax*8 - 0x186c]
vaddss xmm1, xmm3, dword [ebp - 0x1a0c]
vaddss xmm3, xmm0, dword [ebp - 0x20]
vmovss xmm0, dword [0x100e2b68]
vmulss xmm4, xmm1, xmm0
vmulss xmm1, xmm2, xmm0
vmulss xmm0, xmm3, xmm0
vmovss dword [ebp - 0x1a0c], xmm0
mov eax, dword [ebp - 0x1a0c]
vunpcklps xmm0, xmm4, xmm1
mov dword [ebp - 0x28], eax
mov al, 1
vmovq qword [ebp - 0x30], xmm0
jmp 0x100aa990
xor al, al
mov byte [ebp - 0x24], al
test al, al
je 0x100ab4f0
mov ecx, dword [0x104480e0]
lea eax, [ebp - 0x30]
push 0
push 1
push 2
push eax
call dword [ebp - 0x1a1c]
mov esi, dword [ebp - 0x1a04]
mov ecx, dword [ebp - 0x1a28]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [ebp - 0x1a18]
vmovss dword [0x10448d7c], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x1a28]
push 0x10448d98
push 0x10448d8c
vmovss xmm0, dword [eax]
vmovss dword [0x10448d80], xmm0
vmovss xmm0, dword [eax + 4]
vmovss dword [0x10448d84], xmm0
vmovss xmm0, dword [eax + 8]
mov eax, dword [0x104482a4]
vmovss dword [0x10448d88], xmm0
call eax
vmovss xmm0, dword [0x10448d94]
mov ecx, dword [0x102cd670]
mov eax, ecx
vmovss xmm2, dword [0x10448d84]
vmovss xmm1, dword [0x10448d80]
mov edx, dword [0x102cd674]
vmovss dword [0x10448d94], xmm0
vmovss xmm0, dword [0x10448da0]
vaddss xmm0, xmm0, dword [0x100e2c7c]
vmovss dword [0x10448d8c], xmm1
vmovss dword [0x10448d90], xmm2
vmovss dword [0x10448d98], xmm1
vmovss dword [0x10448d9c], xmm2
vmovss dword [0x10448da0], xmm0
cmp eax, edx
je 0x100aaacb
nop
cmp dword [eax], 4
je 0x100aaa8c
add eax, 8
cmp eax, edx
jne 0x100aaa80
cmp eax, edx
je 0x100aaacb
mov ecx, dword [0x10448144]
vmovss xmm0, dword [0x102cd77c]
vdivss xmm0, xmm0, dword [0x100e2d14]
push ecx
mov eax, dword [ecx]
vxorps xmm1, xmm1, xmm1
vmovss dword [esp], xmm1
push 0
mov eax, dword [eax + 0x30]
push 0x64
push ecx
vmovss dword [esp], xmm0
push str.buttons_arena_switch_press_02.wav
call eax
jmp 0x100aae9b
mov eax, dword [0x10332708]
cmp eax, dword [0x1033270c]
je 0x100aae9b
cmp ecx, edx
je 0x100aae9b
cmp dword [ecx], 5
je 0x100aaaf0
add ecx, 8
cmp ecx, edx
jne 0x100aaae4
cmp ecx, edx
je 0x100aae9b
push str.username
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov edx, eax
mov dword [ebp - 0x70], 0
mov ecx, edx
mov dword [ebp - 0x6c], 0
vpxor xmm0, xmm0, xmm0
add esp, 4
vmovdqu xmmword [ebp - 0x80], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0c], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aab30
sub ecx, dword [ebp - 0x1a0c]
push ecx
push edx
lea ecx, [ebp - 0x80]
call fcn.1002dc00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
push 0xf
vpxor xmm0, xmm0, xmm0
push str.C:_nigus_sounds
vmovdqu xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1002dc00
mov byte [ebp - 4], 8
mov eax, dword [0x102cd860]
lea ecx, [eax + eax*2]
mov eax, dword [0x10332708]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea eax, [eax + ecx*8]
mov ecx, dword [eax + 0x10]
jb 0x100aab91
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.10047910
push eax
lea ecx, [ebp - 0x68]
call fcn.1002d560
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100aabde
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aabd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100aabd4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c9c9f
add esp, 8
cmp dword [ebp - 0x58], 2
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
jbe 0x100aae2b
cmp dword [ebp - 0x54], 0x10
lea edx, [ebp - 0x68]
vpxor xmm0, xmm0, xmm0
cmovae edx, dword [ebp - 0x68]
mov ecx, edx
mov dword [ebp - 0x40], 0
vmovdqu xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aac27
sub ecx, dword [ebp - 0x1a0c]
push ecx
push edx
lea ecx, [ebp - 0x50]
call fcn.1002dc00
push 0xb8
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xb
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 4
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x150]
push 0x20
push eax
call fcn.100462f0
push 2
push 0
push 0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xc
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x150]
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push ecx
mov dword [ebp - 0x1a1c], ecx
call fcn.100c9d44
add esp, 4
mov dword [ebp - 0x19fc], eax
lea ecx, [ebp - 0x150]
push 0
push 0
push 0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov eax, dword [ebp - 0x1a1c]
lea ecx, [ebp - 0x150]
cdq
push edx
push eax
push dword [ebp - 0x19fc]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
lea ecx, [ebp - 0x140]
call fcn.1003b520
test eax, eax
jne 0x100aacfe
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x150]
push 0
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x150]
call fcn.10043ee0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100aad43
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aad39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100aad39
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov edx, dword [ebp - 0x1a1c]
xor ecx, ecx
shr edx, 1
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
je 0x100aae1b
mov eax, dword [ebp - 0x19fc]
add eax, 2
nop
cmp byte [eax - 2], 0x64
jne 0x100aad87
cmp byte [eax - 1], 0x61
jne 0x100aad87
cmp byte [eax], 0x74
jne 0x100aad87
cmp byte [eax + 1], 0x61
je 0x100aad92
inc ecx
inc eax
cmp ecx, edx
jb 0x100aad70
jmp 0x100aae1b
test ecx, ecx
je 0x100aae1b
mov edx, dword [ebp - 0x19fc]
lea ecx, [ecx + 8]
mov eax, dword [ecx + edx - 4]
lea ecx, [ecx + edx]
shr eax, 1
mov edx, 0
mov dword [ebp - 0x1a0c], eax
je 0x100aae1b
mov edi, dword [ebp - 0x1a1c]
mov eax, dword [ebp - 0x19fc]
dec edi
vmovss xmm2, dword [0x100e2d14]
add eax, edi
mov edi, dword [ebp - 0x1a0c]
mov dword [ebp - 0x1a08], eax
mov esi, eax
nop
vmovss xmm0, dword [0x102cd77c]
movzx eax, word [ecx]
vdivss xmm1, xmm0, xmm2
cwde
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm0, xmm1, xmm0
vcvttss2si eax, xmm0
mov word [ecx], ax
add ecx, 2
cmp ecx, esi
jae 0x100aae0f
inc edx
cmp edx, edi
jb 0x100aade0
mov edi, dword [ebp - 0x1a2c]
mov esi, dword [ebp - 0x1a04]
push 5
push 0
push dword [ebp - 0x19fc]
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x100aae63
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aae59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab4be
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x100aae9b
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aae91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab4be
push ecx
push edx
call fcn.100c9c9f
add esp, 8
test esi, esi
je 0x100ab490
mov esi, dword [0x10448d58]
mov eax, dword [0x10448d5c]
cmp esi, eax
je 0x100aaeed
mov edi, eax
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [0x1044fd8c]
mov eax, dword [0x10330d0c]
add edx, 0xffffffca
mov ecx, dword [esi + 0x18]
xor edx, 0x9b265a5
cmp ecx, dword [edx + eax]
jne 0x100aaee0
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x100aaec0
mov edi, dword [ebp - 0x1a2c]
vmovss xmm0, dword [0x100e2db4]
mov esi, dword [0x10448d70]
vxorps xmm3, xmm3, xmm3
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
vmovss dword [ebp - 0x1a1c], xmm0
vmovss dword [ebp - 0x1a08], xmm3
vmovss dword [ebp - 0x20], xmm2
vmovss dword [ebp - 0x19fc], xmm1
cmp esi, dword [0x10448d74]
je 0x100ab07a
mov ecx, dword [0x1044fd8c]
mov eax, dword [0x10330d0c]
add ecx, 0xffffffca
mov edi, dword [ebp - 0x1a28]
xor ecx, 0x9b265a5
mov eax, dword [ecx + eax]
mov dword [ebp - 0x1a0c], eax
cmp dword [esi + 0x18], eax
jne 0x100aafe4
mov eax, dword [0x1044fd30]
vmovss xmm0, dword [esi]
add eax, 0xffffffe1
xor eax, 0x9b2658e
vsubss xmm1, xmm0, dword [eax + edi]
vmovss xmm0, dword [esi + 4]
vsubss xmm0, xmm0, dword [eax + edi + 4]
vmulss xmm1, xmm1, xmm1
vmulss xmm0, xmm0, xmm0
vaddss xmm0, xmm1, xmm0
call fcn.100283f0
vmovss xmm1, dword [ebp - 0x1a1c]
vcomiss xmm1, xmm0
mov eax, dword [ebp - 0x1a0c]
jb 0x100aafcf
vmovss xmm3, dword [esi]
vmovss xmm2, dword [esi + 4]
vmovss xmm1, dword [esi + 8]
vmovss dword [ebp - 0x1a1c], xmm0
vmovss dword [ebp - 0x1a08], xmm3
vmovss dword [ebp - 0x20], xmm2
vmovss dword [ebp - 0x19fc], xmm1
jmp 0x100aafe4
vmovss xmm1, dword [ebp - 0x19fc]
vmovss xmm2, dword [ebp - 0x20]
vmovss xmm3, dword [ebp - 0x1a08]
add esi, 0x20
cmp esi, dword [0x10448d74]
jne 0x100aaf53
mov edi, dword [ebp - 0x1a2c]
vxorps xmm0, xmm0, xmm0
vucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x100ab01b
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100ab01b
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100ab07a
mov eax, dword [0x1044814c]
mov ecx, dword [0x10448d68]
vmovss dword [ebp - 0x34], xmm3
vmovss dword [ebp - 0x30], xmm2
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x28], xmm0
vmovss xmm0, dword [0x100e2d60]
vmovss dword [ebp - 0x2c], xmm1
vmovss dword [ebp - 0x24], xmm0
cmp ecx, dword [0x10448d6c]
je 0x100ab06b
vmovdqu xmm0, xmmword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
add dword [0x10448d68], 0x14
jmp 0x100ab07a
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, 0x10448d64
call fcn.100acc20
mov ecx, dword [ebp - 0x1a00]
mov esi, dword [ebp - 0x1a04]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [ebp - 0x1a18]
vcvttss2si edx, xmm0
cmp edx, dword [ebp - 0x19f4]
jl 0x100ab0a9
cmp esi, 1
jne 0x100ab0a9
inc dword [0x10448d40]
cmp byte [0x102cc054], 0
lea eax, [ecx + ecx*2]
lea eax, [eax*8 + 0x10448c80]
mov dword [ebp - 0x20], eax
je 0x100ab0ee
lea ecx, [ebp - 0x1a0c]
mov dword [ebp - 0x1a0c], edx
push ecx
push eax
lea eax, [ebp - 0x98]
mov edx, str.Fired_unambiguous_resolved_shot_at__s_in_the__s_for__i_damage__Networked__n
push eax
lea ecx, [ebp - 0x80]
call fcn.10055020
add esp, 0xc
mov ecx, 0x21
jmp 0x100ab22b
push 0x98
lea eax, [ebp - 0x130]
mov dword [ebp - 0x1a08], edx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x130], 0x100dc0b8
lea ecx, [ebp - 0xe0]
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 - 0x12c]
mov dword [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x14], 0x28
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 0xf
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x130], 0x100dc080
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x134], eax
lea ecx, [ebp - 0x12c]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 0x12c], 0x100dbfc8
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 4
lea eax, [ebp - 0x19f4]
mov dword [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x1a08]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x130]
call fcn.100acde0
add esp, 0x10
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x12c]
push eax
call fcn.100377b0
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x130], 0x100dc080
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x134], eax
lea ecx, [ebp - 0x12c]
call fcn.10030860
lea ecx, [ebp - 0x128]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xe0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea eax, [ebp - 0x68]
mov ecx, 0x3e
vmovdqu xmm0, xmmword [eax]
vmovdqu xmmword [ebp - 0x50], xmm0
vmovq xmm0, qword [eax + 0x10]
vmovq qword [ebp - 0x40], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 4], 0x11
test cl, 2
je 0x100ab2a8
mov eax, dword [ebp - 0x54]
and ecx, 0xfffffffd
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
jb 0x100ab296
mov edx, dword [ebp - 0x68]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab289
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab2d7
push ecx
push edx
call fcn.100c9c9f
mov ecx, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov byte [ebp - 4], 0x12
test cl, 1
je 0x100ab2f9
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x100ab2e7
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab2dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ab2dd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov eax, dword [0x100ee22c]
lea edx, [ebp - 0x50]
vmovss xmm0, dword [0x100e2c6c]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1a20]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
vmovss dword [ebp - 0x14], xmm0
call fcn.10037a60
add esp, 8
push eax
mov byte [ebp - 4], 0x13
call fcn.100374b0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1a1c]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x100ab362
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x100ab362
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x14]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x100ab362
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.1002d560
push 0x10330d08
call fcn.1003f510
mov edx, dword [0x10448d54]
add esp, 0x1c
test edx, edx
je 0x100ab460
mov eax, dword [0x10448d50]
mov byte [ebp - 0x14], 0
add eax, edx
push dword [ebp - 0x14]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov eax, dword [0x10448d44]
mov dword [ecx], eax
mov ecx, esp
mov eax, dword [0x10448d50]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov eax, dword [0x10448d44]
mov dword [ecx], eax
lea ecx, [ebp - 0x1c]
call fcn.100ac870
mov eax, dword [0x10448d50]
add esp, 0x1c
add eax, dword [0x10448d54]
mov edx, dword [ebp - 0x14]
cmp edx, eax
je 0x100ab460
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100ab3fe
mov eax, dword [eax]
jmp 0x100ab400
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a1c], eax
test eax, eax
je 0x100ab460
cmp dword [eax + 0xc], 0
je 0x100ab432
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [ebp - 0x1a1c]
cmp dword [edx + 0x48], eax
jne 0x100ab460
mov eax, edx
mov ecx, dword [ebp - 0x1a30]
mov dword [eax + 0x6c], esi
push 0
push str.dmg_health
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0x1a1c]
mov dword [edx + 0x70], eax
mov eax, dword [0x10448160]
mov eax, dword [eax + 0x16c]
mov dword [edx + 0x68], eax
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100ab490
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab486
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab4be
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov eax, dword [ebp - 0x84]
cmp eax, 0x10
jb 0x100ab4ce
mov edx, dword [ebp - 0x98]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab4c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ab4c4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c9c9f
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100c981f
mov esp, ebp
pop ebp
ret 4
call fcn.100ac860
call fcn.100a98d0
nop dword [eax]
pushfd
sahf
or dl, byte [eax]
in eax, dx
sahf
or dl, byte [eax]
mov esp, 0xed100a9e
sahf
or dl, byte [eax]
lodsb al, byte [esi]
sahf
or dl, byte [eax]
in eax, dx
sahf
or dl, byte [eax]
jmp 0x1c1abfb3