Function at 0x1023c7d9
Capabilities:
Hash data using fnv
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102a9fe1
mov eax, dword fs:[0]
push eax
mov eax, 0x255c
call fcn.10296c20
mov eax, dword [0x10560040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1b84], ecx
mov dword [ebp - 0x1ac8], 0
mov ecx, 0x108c9974
call fcn.10296940
mov dword [ebp - 4], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x1fbc], eax
movzx ecx, byte [ebp - 0x1be9]
push ecx
mov ecx, dword [ebp - 0x1fbc]
call fcn.10055030
lea ecx, [ebp - 0x38]
call fcn.1004fe30
nop
mov dword [ebp - 4], 1
cmp dword [ebp + 8], 0
je 0x1023bffc
cmp dword [0x1078a80c], 0
jne 0x1023c011
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1cc8], eax
xor ecx, ecx
mov byte [ebp - 0x1bfd], cl
mov dword [ebp - 0x22d8], 0xd791104e
mov dword [ebp - 0x1fe8], 0xd791104e
mov edx, dword [ebp - 0x1fe8]
mov dword [ebp - 0x1ccc], edx
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2454]
cmp eax, dword [edx + 4]
jle 0x1023c11c
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023c11c
mov byte [ebp - 4], 2
xor ecx, ecx
mov byte [ebp - 0x1bfe], cl
mov dword [ebp - 0x23d0], 0xda7d68cb
mov dword [ebp - 0x1fec], 0xda7d68cb
mov edx, dword [ebp - 0x1fec]
mov dword [ebp - 0x2028], edx
xor eax, eax
mov byte [ebp - 0x1bff], al
mov dword [ebp - 0x23d4], 0x990704d7
mov dword [ebp - 0x1ffc], 0x990704d7
mov ecx, dword [ebp - 0x1ffc]
push ecx
lea edx, [ebp - 0x24b8]
push edx
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x202c], eax
mov eax, dword [ebp - 0x2028]
push eax
mov ecx, dword [ebp - 0x202c]
push ecx
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023c133
mov edx, dword [0x108c2458]
mov dword [ebp - 0x1c3c], edx
jmp 0x1023c13d
mov dword [ebp - 0x1c3c], 0
mov eax, dword [ebp - 0x1c3c]
mov dword [ebp - 0x204c], eax
mov ecx, dword [ebp - 0x204c]
call ecx
mov dword [ebp - 0x2050], eax
mov edx, dword [ebp - 0x2050]
mov dword [ebp - 0x1c1c], edx
cmp dword [ebp - 0x1cc8], 0
je 0x1023c17e
cmp dword [ebp - 0x1ccc], 0
je 0x1023c17e
cmp dword [ebp - 0x1c1c], 0
jne 0x1023c18d
mov dword [ebp - 0x1c28], 0
jmp 0x1023c2df
mov eax, dword [ebp - 0x1cc8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1b4c], ecx
jmp 0x1023c1ad
mov edx, dword [ebp - 0x1b4c]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x1b4c], eax
cmp dword [ebp - 0x1b4c], 0
je 0x1023c2d5
mov ecx, dword [ebp - 0x1c1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x2090], eax
mov ecx, dword [ebp - 0x1b4c]
mov edx, dword [ecx]
and edx, 0xffffff
push edx
mov ecx, dword [ebp - 0x1c1c]
call dword [ebp - 0x2090]
mov dword [ebp - 0x1c20], eax
cmp dword [ebp - 0x1c20], 0
je 0x1023c2d0
mov dword [ebp - 0x1c24], 0x811c9dc5
mov dword [ebp - 0x1ad8], 0
mov eax, dword [ebp - 0x1ad8]
add eax, 1
mov dword [ebp - 0x1ad8], eax
mov ecx, dword [ebp - 0x1c20]
add ecx, dword [ebp - 0x1ad8]
movsx edx, byte [ecx]
test edx, edx
je 0x1023c231
jmp 0x1023c20d
xor eax, eax
je 0x1023c244
mov ecx, dword [ebp - 0x1ad8]
add ecx, 1
mov dword [ebp - 0x1ad8], ecx
mov edx, dword [ebp - 0x1ad8]
mov dword [ebp - 0x2094], edx
mov eax, dword [ebp - 0x2094]
mov dword [ebp - 0x20b8], eax
mov dword [ebp - 0x1b5c], 0
jmp 0x1023c277
mov ecx, dword [ebp - 0x1b5c]
add ecx, 1
mov dword [ebp - 0x1b5c], ecx
mov edx, dword [ebp - 0x1b5c]
cmp edx, dword [ebp - 0x20b8]
jae 0x1023c2a8
mov eax, dword [ebp - 0x1c20]
add eax, dword [ebp - 0x1b5c]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x1c24]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x1c24], edx
jmp 0x1023c268
mov eax, dword [ebp - 0x1c24]
mov dword [ebp - 0x20bc], eax
mov ecx, dword [ebp - 0x20bc]
cmp ecx, dword [ebp - 0x1ccc]
jne 0x1023c2d0
mov edx, dword [ebp - 0x1b4c]
mov dword [ebp - 0x1c28], edx
jmp 0x1023c2df
jmp 0x1023c19e
mov dword [ebp - 0x1c28], 0
mov eax, dword [ebp - 0x1c28]
mov dword [ebp - 0x1b30], eax
mov dword [ebp - 0x1aa8], 0
mov ecx, dword [ebp - 0x1b30]
movsx edx, byte [ecx + 0x10]
mov dword [ebp - 0x1b90], edx
mov eax, dword [ebp - 0x1b90]
sub eax, 1
mov dword [ebp - 0x1b90], eax
cmp dword [ebp - 0x1b90], 6
ja case.0x1023c327.1
mov ecx, dword [ebp - 0x1b90]
jmp dword [ecx*4 + 0x1023fb24]
mov edx, dword [ebp - 0x1b30]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x1aa8], eax
jmp 0x1023c3d7
mov ecx, dword [ebp - 0x1b30]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x1aa8], eax
jmp 0x1023c3d7
mov eax, dword [ebp - 0x1b30]
vmovss xmm0, dword [eax + 0xc]
vmovss dword [ebp - 0x2160], xmm0
fld dword [ebp - 0x2160]
fstp qword [ebp - 0x2384]
vxorps xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x2384], 1
vmovsd qword [ebp - 0x238c], xmm0
fld qword [ebp - 0x238c]
fstp dword [ebp - 0x216c]
vmovss xmm0, dword [ebp - 0x216c]
vcvttss2si ecx, xmm0
mov dword [ebp - 0x1aa8], ecx
jmp 0x1023c3d7
mov dword [ebp - 0x1aa8], 0
jmp 0x1023c3d7
mov edx, dword [ebp - 0x1b30]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1aa8], eax
cmp dword [ebp - 0x1aa8], 0
je 0x1023c3ee
mov ecx, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1cd0], ecx
jmp 0x1023c3f8
mov dword [ebp - 0x1cd0], 0
mov edx, dword [ebp - 0x1cd0]
mov dword [ebp - 0x2170], edx
mov eax, dword [ebp - 0x2170]
mov dword [ebp - 0x2270], eax
mov ecx, dword [0x108a1c14]
mov dword [ebp - 0x1cd8], ecx
lea edx, [ebp - 0x225c]
mov dword [ebp - 0x1cd4], edx
mov eax, dword [ebp - 0x1cd4]
mov ecx, dword [ebp - 0x1cd8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1cd4]
mov dword [ebp - 0x224c], edx
mov eax, dword [ebp - 0x224c]
mov dword [ebp - 0x23d8], eax
mov ecx, dword [ebp - 0x225c]
mov edx, dword [ecx]
mov dword [ebp - 0x2260], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x2260]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x2264], edx
mov eax, dword [ebp - 0x2264]
mov dword [ebp - 0x2268], eax
mov ecx, dword [ebp - 0x2268]
mov dword [ebp - 0x226c], ecx
mov edx, dword [ebp - 0x226c]
mov dword [ebp - 0x2274], edx
mov eax, dword [ebp - 0x2270]
push eax
mov ecx, dword [ebp - 0x1cd8]
call dword [ebp - 0x2274]
mov dword [ebp - 0x2278], eax
mov ecx, dword [ebp - 0x2278]
mov dword [ebp - 0x1ba4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1ce0], eax
xor ecx, ecx
mov byte [ebp - 0x1c00], cl
mov dword [ebp - 0x23ec], 0x11ab48ff
mov dword [ebp - 0x227c], 0x11ab48ff
mov edx, dword [ebp - 0x227c]
mov dword [ebp - 0x1ce4], edx
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2454]
cmp eax, dword [edx + 4]
jle 0x1023c5c7
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023c5c7
mov byte [ebp - 4], 3
xor ecx, ecx
mov byte [ebp - 0x1c01], cl
mov dword [ebp - 0x23f0], 0xda7d68cb
mov dword [ebp - 0x2280], 0xda7d68cb
mov edx, dword [ebp - 0x2280]
mov dword [ebp - 0x1d34], edx
xor eax, eax
mov byte [ebp - 0x1c02], al
mov dword [ebp - 0x23f4], 0x990704d7
mov dword [ebp - 0x1d30], 0x990704d7
mov ecx, dword [ebp - 0x1d30]
push ecx
lea edx, [ebp - 0x24c4]
push edx
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x1d38], eax
mov eax, dword [ebp - 0x1d34]
push eax
mov ecx, dword [ebp - 0x1d38]
push ecx
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023c5de
mov edx, dword [0x108c2458]
mov dword [ebp - 0x1cdc], edx
jmp 0x1023c5e8
mov dword [ebp - 0x1cdc], 0
mov eax, dword [ebp - 0x1cdc]
mov dword [ebp - 0x1d3c], eax
mov ecx, dword [ebp - 0x1d3c]
call ecx
mov dword [ebp - 0x1d40], eax
mov edx, dword [ebp - 0x1d40]
mov dword [ebp - 0x1c2c], edx
cmp dword [ebp - 0x1ce0], 0
je 0x1023c629
cmp dword [ebp - 0x1ce4], 0
je 0x1023c629
cmp dword [ebp - 0x1c2c], 0
jne 0x1023c638
mov dword [ebp - 0x1ba0], 0
jmp 0x1023c78a
mov eax, dword [ebp - 0x1ce0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1b54], ecx
jmp 0x1023c658
mov edx, dword [ebp - 0x1b54]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x1b54], eax
cmp dword [ebp - 0x1b54], 0
je 0x1023c780
mov ecx, dword [ebp - 0x1c2c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1d44], eax
mov ecx, dword [ebp - 0x1b54]
mov edx, dword [ecx]
and edx, 0xffffff
push edx
mov ecx, dword [ebp - 0x1c2c]
call dword [ebp - 0x1d44]
mov dword [ebp - 0x1b98], eax
cmp dword [ebp - 0x1b98], 0
je 0x1023c77b
mov dword [ebp - 0x1b9c], 0x811c9dc5
mov dword [ebp - 0x1adc], 0
mov eax, dword [ebp - 0x1adc]
add eax, 1
mov dword [ebp - 0x1adc], eax
mov ecx, dword [ebp - 0x1b98]
add ecx, dword [ebp - 0x1adc]
movsx edx, byte [ecx]
test edx, edx
je 0x1023c6dc
jmp 0x1023c6b8
xor eax, eax
je 0x1023c6ef
mov ecx, dword [ebp - 0x1adc]
add ecx, 1
mov dword [ebp - 0x1adc], ecx
mov edx, dword [ebp - 0x1adc]
mov dword [ebp - 0x1d48], edx
mov eax, dword [ebp - 0x1d48]
mov dword [ebp - 0x1d4c], eax
mov dword [ebp - 0x1b8c], 0
jmp 0x1023c722
mov ecx, dword [ebp - 0x1b8c]
add ecx, 1
mov dword [ebp - 0x1b8c], ecx
mov edx, dword [ebp - 0x1b8c]
cmp edx, dword [ebp - 0x1d4c]
jae 0x1023c753
mov eax, dword [ebp - 0x1b98]
add eax, dword [ebp - 0x1b8c]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x1b9c]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x1b9c], edx
jmp 0x1023c713
mov eax, dword [ebp - 0x1b9c]
mov dword [ebp - 0x1d50], eax
mov ecx, dword [ebp - 0x1d50]
cmp ecx, dword [ebp - 0x1ce4]
jne 0x1023c77b
mov edx, dword [ebp - 0x1b54]
mov dword [ebp - 0x1ba0], edx
jmp 0x1023c78a
jmp 0x1023c649
mov dword [ebp - 0x1ba0], 0
mov eax, dword [ebp - 0x1ba0]
mov dword [ebp - 0x1aec], eax
mov dword [ebp - 0x1aac], 0
mov ecx, dword [ebp - 0x1aec]
movsx edx, byte [ecx + 0x10]
mov dword [ebp - 0x1b88], edx
mov eax, dword [ebp - 0x1b88]
sub eax, 1
mov dword [ebp - 0x1b88], eax
cmp dword [ebp - 0x1b88], 6
ja case.0x1023c7d2.1
mov ecx, dword [ebp - 0x1b88]
jmp dword [ecx*4 + 0x1023fb40]
mov edx, dword [ebp - 0x1aec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x1aac], eax
jmp 0x1023c882
mov ecx, dword [ebp - 0x1aec]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x1aac], eax
jmp 0x1023c882
mov eax, dword [ebp - 0x1aec]
vmovss xmm0, dword [eax + 0xc]
vmovss dword [ebp - 0x1d54], xmm0
fld dword [ebp - 0x1d54]
fstp qword [ebp - 0x2394]
vxorps xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x2394], 1
vmovsd qword [ebp - 0x239c], xmm0
fld qword [ebp - 0x239c]
fstp dword [ebp - 0x1d58]
vmovss xmm0, dword [ebp - 0x1d58]
vcvttss2si ecx, xmm0
mov dword [ebp - 0x1aac], ecx
jmp 0x1023c882
mov dword [ebp - 0x1aac], 0
jmp 0x1023c882
mov edx, dword [ebp - 0x1aec]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1aac], eax
cmp dword [ebp - 0x1aac], 0
je 0x1023c899
mov ecx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1ce8], ecx
jmp 0x1023c8a3
mov dword [ebp - 0x1ce8], 0
mov edx, dword [ebp - 0x1ce8]
mov dword [ebp - 0x1d5c], edx
mov eax, dword [ebp - 0x1d5c]
mov dword [ebp - 0x1d78], eax
mov ecx, dword [0x108a1c14]
mov dword [ebp - 0x1cf0], ecx
lea edx, [ebp - 0x1d64]
mov dword [ebp - 0x1cec], edx
mov eax, dword [ebp - 0x1cec]
mov ecx, dword [ebp - 0x1cf0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1cec]
mov dword [ebp - 0x1d60], edx
mov eax, dword [ebp - 0x1d60]
mov dword [ebp - 0x23e4], eax
mov ecx, dword [ebp - 0x1d64]
mov edx, dword [ecx]
mov dword [ebp - 0x1d68], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1d68]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1d6c], edx
mov eax, dword [ebp - 0x1d6c]
mov dword [ebp - 0x1d70], eax
mov ecx, dword [ebp - 0x1d70]
mov dword [ebp - 0x1d74], ecx
mov edx, dword [ebp - 0x1d74]
mov dword [ebp - 0x1d7c], edx
mov eax, dword [ebp - 0x1d78]
push eax
mov ecx, dword [ebp - 0x1cf0]
call dword [ebp - 0x1d7c]
mov dword [ebp - 0x1d80], eax
mov ecx, dword [ebp - 0x1d80]
mov dword [ebp - 0x1ad0], ecx
cmp dword [ebp - 0x1ba4], 1
jl 0x1023c98b
cmp dword [ebp - 0x1ba4], 0x40
jg 0x1023c98b
cmp dword [ebp - 0x1ad0], 1
jl 0x1023c98b
cmp dword [ebp - 0x1ad0], 0x40
jle 0x1023c9a5
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x1cf8], edx
lea eax, [ebp - 0x1d88]
mov dword [ebp - 0x1cf4], eax
mov ecx, dword [ebp - 0x1cf4]
mov edx, dword [ebp - 0x1cf8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1cf4]
mov dword [ebp - 0x1d84], eax
mov ecx, dword [ebp - 0x1d84]
mov dword [ebp - 0x23fc], ecx
mov edx, dword [ebp - 0x1d88]
mov eax, dword [edx]
mov dword [ebp - 0x1d8c], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x1d8c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d90], eax
mov ecx, dword [ebp - 0x1d90]
mov dword [ebp - 0x1d94], ecx
mov edx, dword [ebp - 0x1d94]
mov dword [ebp - 0x1d98], edx
mov eax, dword [ebp - 0x1d98]
mov dword [ebp - 0x1d9c], eax
mov ecx, dword [ebp - 0x1cf8]
call dword [ebp - 0x1d9c]
mov dword [ebp - 0x1da0], eax
mov ecx, dword [ebp - 0x1da0]
cmp dword [ebp - 0x1ba4], ecx
jne 0x1023caf7
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x1d00], edx
lea eax, [ebp - 0x1da8]
mov dword [ebp - 0x1cfc], eax
mov ecx, dword [ebp - 0x1cfc]
mov edx, dword [ebp - 0x1d00]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1cfc]
mov dword [ebp - 0x1da4], eax
mov ecx, dword [ebp - 0x1da4]
mov dword [ebp - 0x2400], ecx
mov edx, dword [ebp - 0x1da8]
mov eax, dword [edx]
mov dword [ebp - 0x1dac], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x1dac]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1db0], eax
mov ecx, dword [ebp - 0x1db0]
mov dword [ebp - 0x1db4], ecx
mov edx, dword [ebp - 0x1db4]
mov dword [ebp - 0x1db8], edx
mov eax, dword [ebp - 0x1db8]
mov dword [ebp - 0x1dbc], eax
mov ecx, dword [ebp - 0x1d00]
call dword [ebp - 0x1dbc]
mov dword [ebp - 0x1dc0], eax
mov ecx, dword [ebp - 0x1dc0]
cmp dword [ebp - 0x1ad0], ecx
jne 0x1023cb0c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1d08], eax
xor ecx, ecx
mov byte [ebp - 0x1c03], cl
mov dword [ebp - 0x2404], 0x2a7e565d
mov dword [ebp - 0x1dc4], 0x2a7e565d
mov edx, dword [ebp - 0x1dc4]
mov dword [ebp - 0x1d0c], edx
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2454]
cmp eax, dword [edx + 4]
jle 0x1023cc17
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023cc17
mov byte [ebp - 4], 4
xor ecx, ecx
mov byte [ebp - 0x1c04], cl
mov dword [ebp - 0x2374], 0xda7d68cb
mov dword [ebp - 0x1dc8], 0xda7d68cb
mov edx, dword [ebp - 0x1dc8]
mov dword [ebp - 0x1dd0], edx
xor eax, eax
mov byte [ebp - 0x1c05], al
mov dword [ebp - 0x2378], 0x990704d7
mov dword [ebp - 0x1dcc], 0x990704d7
mov ecx, dword [ebp - 0x1dcc]
push ecx
lea edx, [ebp - 0x24d0]
push edx
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x1dd4], eax
mov eax, dword [ebp - 0x1dd0]
push eax
mov ecx, dword [ebp - 0x1dd4]
push ecx
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023cc2e
mov edx, dword [0x108c2458]
mov dword [ebp - 0x1d04], edx
jmp 0x1023cc38
mov dword [ebp - 0x1d04], 0
mov eax, dword [ebp - 0x1d04]
mov dword [ebp - 0x1dd8], eax
mov ecx, dword [ebp - 0x1dd8]
call ecx
mov dword [ebp - 0x1ddc], eax
mov edx, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1ba8], edx
cmp dword [ebp - 0x1d08], 0
je 0x1023cc79
cmp dword [ebp - 0x1d0c], 0
je 0x1023cc79
cmp dword [ebp - 0x1ba8], 0
jne 0x1023cc88
mov dword [ebp - 0x1bb4], 0
jmp 0x1023cdda
mov eax, dword [ebp - 0x1d08]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1af0], ecx
jmp 0x1023cca8
mov edx, dword [ebp - 0x1af0]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x1af0], eax
cmp dword [ebp - 0x1af0], 0
je 0x1023cdd0
mov ecx, dword [ebp - 0x1ba8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1de0], eax
mov ecx, dword [ebp - 0x1af0]
mov edx, dword [ecx]
and edx, 0xffffff
push edx
mov ecx, dword [ebp - 0x1ba8]
call dword [ebp - 0x1de0]
mov dword [ebp - 0x1bac], eax
cmp dword [ebp - 0x1bac], 0
je 0x1023cdcb
mov dword [ebp - 0x1bb0], 0x811c9dc5
mov dword [ebp - 0x1acc], 0
mov eax, dword [ebp - 0x1acc]
add eax, 1
mov dword [ebp - 0x1acc], eax
mov ecx, dword [ebp - 0x1bac]
add ecx, dword [ebp - 0x1acc]
movsx edx, byte [ecx]
test edx, edx
je 0x1023cd2c
jmp 0x1023cd08
xor eax, eax
je 0x1023cd3f
mov ecx, dword [ebp - 0x1acc]
add ecx, 1
mov dword [ebp - 0x1acc], ecx
mov edx, dword [ebp - 0x1acc]
mov dword [ebp - 0x1de4], edx
mov eax, dword [ebp - 0x1de4]
mov dword [ebp - 0x1de8], eax
mov dword [ebp - 0x1b80], 0
jmp 0x1023cd72
mov ecx, dword [ebp - 0x1b80]
add ecx, 1
mov dword [ebp - 0x1b80], ecx
mov edx, dword [ebp - 0x1b80]
cmp edx, dword [ebp - 0x1de8]
jae 0x1023cda3
mov eax, dword [ebp - 0x1bac]
add eax, dword [ebp - 0x1b80]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x1bb0]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x1bb0], edx
jmp 0x1023cd63
mov eax, dword [ebp - 0x1bb0]
mov dword [ebp - 0x1dec], eax
mov ecx, dword [ebp - 0x1dec]
cmp ecx, dword [ebp - 0x1d0c]
jne 0x1023cdcb
mov edx, dword [ebp - 0x1af0]
mov dword [ebp - 0x1bb4], edx
jmp 0x1023cdda
jmp 0x1023cc99
mov dword [ebp - 0x1bb4], 0
mov eax, dword [ebp - 0x1bb4]
mov dword [ebp - 0x1af4], eax
mov dword [ebp - 0x1aa4], 0
mov ecx, dword [ebp - 0x1af4]
movsx edx, byte [ecx + 0x10]
mov dword [ebp - 0x1b78], edx
mov eax, dword [ebp - 0x1b78]
sub eax, 1
mov dword [ebp - 0x1b78], eax
cmp dword [ebp - 0x1b78], 6
ja case.0x1023ce22.1
mov ecx, dword [ebp - 0x1b78]
jmp dword [ecx*4 + 0x1023fb5c]
mov edx, dword [ebp - 0x1af4]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x1aa4], eax
jmp 0x1023ced2
mov ecx, dword [ebp - 0x1af4]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x1aa4], eax
jmp 0x1023ced2
mov eax, dword [ebp - 0x1af4]
vmovss xmm0, dword [eax + 0xc]
vmovss dword [ebp - 0x1df0], xmm0
fld dword [ebp - 0x1df0]
fstp qword [ebp - 0x23a4]
vxorps xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x23a4], 1
vmovsd qword [ebp - 0x23ac], xmm0
fld qword [ebp - 0x23ac]
fstp dword [ebp - 0x1df4]
vmovss xmm0, dword [ebp - 0x1df4]
vcvttss2si ecx, xmm0
mov dword [ebp - 0x1aa4], ecx
jmp 0x1023ced2
mov dword [ebp - 0x1aa4], 0
jmp 0x1023ced2
mov edx, dword [ebp - 0x1af4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1aa4], eax
cmp dword [ebp - 0x1aa4], 0
je 0x1023cee9
mov ecx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1d10], ecx
jmp 0x1023cef3
mov dword [ebp - 0x1d10], 0
mov edx, dword [ebp - 0x1d10]
mov dword [ebp - 0x1df8], edx
mov eax, dword [ebp - 0x1df8]
mov dword [ebp - 0x1a84], eax
cmp dword [ebp - 0x1a84], 0xa
jne 0x1023cf29
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov ecx, dword [0x108a1c18]
mov dword [ebp - 0x1d18], ecx
lea edx, [ebp - 0x1e00]
mov dword [ebp - 0x1d14], edx
mov eax, dword [ebp - 0x1d14]
mov ecx, dword [ebp - 0x1d18]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1d14]
mov dword [ebp - 0x1dfc], edx
mov eax, dword [ebp - 0x1dfc]
mov dword [ebp - 0x237c], eax
mov ecx, dword [ebp - 0x1e00]
mov edx, dword [ecx]
mov dword [ebp - 0x1e04], edx
mov eax, 3
shl eax, 2
mov ecx, dword [ebp - 0x1e04]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1e08], edx
mov eax, dword [ebp - 0x1e08]
mov dword [ebp - 0x1e0c], eax
mov ecx, dword [ebp - 0x1e0c]
mov dword [ebp - 0x1e10], ecx
mov edx, dword [ebp - 0x1e10]
mov dword [ebp - 0x1e14], edx
mov eax, dword [ebp - 0x1ad0]
push eax
mov ecx, dword [ebp - 0x1d18]
call dword [ebp - 0x1e14]
mov dword [ebp - 0x1e18], eax
mov ecx, dword [ebp - 0x1e18]
mov dword [ebp - 0x1ae8], ecx
cmp dword [ebp - 0x1ae8], 0
jne 0x1023cff3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x1d20], edx
lea eax, [ebp - 0x1e20]
mov dword [ebp - 0x1d1c], eax
mov ecx, dword [ebp - 0x1d1c]
mov edx, dword [ebp - 0x1d20]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1d1c]
mov dword [ebp - 0x1e1c], eax
mov ecx, dword [ebp - 0x1e1c]
mov dword [ebp - 0x23dc], ecx
mov edx, dword [ebp - 0x1e20]
mov eax, dword [edx]
mov dword [ebp - 0x1e24], eax
mov ecx, 8
shl ecx, 2
mov edx, dword [ebp - 0x1e24]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1e28], eax
mov ecx, dword [ebp - 0x1e28]
mov dword [ebp - 0x1e2c], ecx
mov edx, dword [ebp - 0x1e2c]
mov dword [ebp - 0x1e30], edx
mov eax, dword [ebp - 0x1e30]
mov dword [ebp - 0x1e34], eax
lea ecx, [ebp - 0x27c]
push ecx
mov edx, dword [ebp - 0x1ad0]
push edx
mov ecx, dword [ebp - 0x1d20]
call dword [ebp - 0x1e34]
mov byte [ebp - 0x1ab9], al
movzx eax, byte [ebp - 0x1ab9]
test eax, eax
jne 0x1023d0ba
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x24f8]
call fcn.1004d0e0
mov dword [ebp - 0x1e38], eax
mov edx, dword [ebp - 0x1e38]
mov dword [ebp - 0x1e3c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1e3c]
mov dword [ebp - 0x1e44], eax
lea ecx, [ebp - 0x1c06]
mov dword [ebp - 0x1e40], ecx
mov edx, dword [ebp - 0x1e40]
push edx
push 0x18
push 0
mov eax, dword [ebp - 0x1e44]
push eax
lea ecx, [ebp - 0x245c]
call fcn.100b9cb0
mov ecx, dword [ebp - 0x1ac8]
or ecx, 1
mov dword [ebp - 0x1ac8], ecx
lea edx, [ebp - 0x245c]
mov dword [ebp - 0x1e48], edx
mov eax, dword [ebp - 0x1e48]
mov dword [ebp - 0x1e4c], eax
mov ecx, dword [ebp - 0x1e4c]
push ecx
lea ecx, [ebp - 0x38]
call fcn.1004d070
lea ecx, [ebp - 0x245c]
call fcn.1004cfa0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24f8]
call fcn.1004cfa0
nop
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1d28], eax
xor ecx, ecx
mov byte [ebp - 0x1c07], cl
mov dword [ebp - 0x23e0], 0xa0d9523e
mov dword [ebp - 0x1e50], 0xa0d9523e
mov edx, dword [ebp - 0x1e50]
mov dword [ebp - 0x1c30], edx
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2454]
cmp eax, dword [edx + 4]
jle 0x1023d273
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023d273
mov byte [ebp - 4], 6
xor ecx, ecx
mov byte [ebp - 0x1c08], cl
mov dword [ebp - 0x23e8], 0xda7d68cb
mov dword [ebp - 0x1e54], 0xda7d68cb
mov edx, dword [ebp - 0x1e54]
mov dword [ebp - 0x1e5c], edx
xor eax, eax
mov byte [ebp - 0x1c09], al
mov dword [ebp - 0x22c4], 0x990704d7
mov dword [ebp - 0x1e58], 0x990704d7
mov ecx, dword [ebp - 0x1e58]
push ecx
lea edx, [ebp - 0x24dc]
push edx
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x1e60], eax
mov eax, dword [ebp - 0x1e5c]
push eax
mov ecx, dword [ebp - 0x1e60]
push ecx
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023d28a
mov edx, dword [0x108c2458]
mov dword [ebp - 0x1d24], edx
jmp 0x1023d294
mov dword [ebp - 0x1d24], 0
mov eax, dword [ebp - 0x1d24]
mov dword [ebp - 0x1e64], eax
mov ecx, dword [ebp - 0x1e64]
call ecx
mov dword [ebp - 0x1e68], eax
mov edx, dword [ebp - 0x1e68]
mov dword [ebp - 0x1bb8], edx
cmp dword [ebp - 0x1d28], 0
je 0x1023d2d5
cmp dword [ebp - 0x1c30], 0
je 0x1023d2d5
cmp dword [ebp - 0x1bb8], 0
jne 0x1023d2e4
mov dword [ebp - 0x1bc4], 0
jmp 0x1023d436
mov eax, dword [ebp - 0x1d28]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1af8], ecx
jmp 0x1023d304
mov edx, dword [ebp - 0x1af8]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x1af8], eax
cmp dword [ebp - 0x1af8], 0
je 0x1023d42c
mov ecx, dword [ebp - 0x1bb8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1e6c], eax
mov ecx, dword [ebp - 0x1af8]
mov edx, dword [ecx]
and edx, 0xffffff
push edx
mov ecx, dword [ebp - 0x1bb8]
call dword [ebp - 0x1e6c]
mov dword [ebp - 0x1bbc], eax
cmp dword [ebp - 0x1bbc], 0
je 0x1023d427
mov dword [ebp - 0x1bc0], 0x811c9dc5
mov dword [ebp - 0x1ae0], 0
mov eax, dword [ebp - 0x1ae0]
add eax, 1
mov dword [ebp - 0x1ae0], eax
mov ecx, dword [ebp - 0x1bbc]
add ecx, dword [ebp - 0x1ae0]
movsx edx, byte [ecx]
test edx, edx
je 0x1023d388
jmp 0x1023d364
xor eax, eax
je 0x1023d39b
mov ecx, dword [ebp - 0x1ae0]
add ecx, 1
mov dword [ebp - 0x1ae0], ecx
mov edx, dword [ebp - 0x1ae0]
mov dword [ebp - 0x1e70], edx
mov eax, dword [ebp - 0x1e70]
mov dword [ebp - 0x1e74], eax
mov dword [ebp - 0x1b74], 0
jmp 0x1023d3ce
mov ecx, dword [ebp - 0x1b74]
add ecx, 1
mov dword [ebp - 0x1b74], ecx
mov edx, dword [ebp - 0x1b74]
cmp edx, dword [ebp - 0x1e74]
jae 0x1023d3ff
mov eax, dword [ebp - 0x1bbc]
add eax, dword [ebp - 0x1b74]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x1bc0]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x1bc0], edx
jmp 0x1023d3bf
mov eax, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1e78], eax
mov ecx, dword [ebp - 0x1e78]
cmp ecx, dword [ebp - 0x1c30]
jne 0x1023d427
mov edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x1bc4], edx
jmp 0x1023d436
jmp 0x1023d2f5
mov dword [ebp - 0x1bc4], 0
mov eax, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1b50], eax
mov dword [ebp - 0x1ab4], 0
mov ecx, dword [ebp - 0x1b50]
movsx edx, byte [ecx + 0x10]
mov dword [ebp - 0x1b70], edx
mov eax, dword [ebp - 0x1b70]
sub eax, 1
mov dword [ebp - 0x1b70], eax
cmp dword [ebp - 0x1b70], 6
ja case.0x1023d47e.1
mov ecx, dword [ebp - 0x1b70]
jmp dword [ecx*4 + 0x1023fb78]
mov edx, dword [ebp - 0x1b50]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x1ab4], eax
jmp 0x1023d52e
mov ecx, dword [ebp - 0x1b50]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x1ab4], eax
jmp 0x1023d52e
mov eax, dword [ebp - 0x1b50]
vmovss xmm0, dword [eax + 0xc]
vmovss dword [ebp - 0x1e7c], xmm0
fld dword [ebp - 0x1e7c]
fstp qword [ebp - 0x23b4]
vxorps xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x23b4], 1
vmovsd qword [ebp - 0x23bc], xmm0
fld qword [ebp - 0x23bc]
fstp dword [ebp - 0x1e80]
vmovss xmm0, dword [ebp - 0x1e80]
vcvttss2si ecx, xmm0
mov dword [ebp - 0x1ab4], ecx
jmp 0x1023d52e
mov dword [ebp - 0x1ab4], 0
jmp 0x1023d52e
mov edx, dword [ebp - 0x1b50]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1ab4], eax
cmp dword [ebp - 0x1ab4], 0
je 0x1023d545
mov ecx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c34], ecx
jmp 0x1023d54f
mov dword [ebp - 0x1c34], 0
mov edx, dword [ebp - 0x1c34]
mov dword [ebp - 0x1e84], edx
mov eax, dword [ebp - 0x1e84]
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [ebp - 0x1b64], xmm0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1cb4], edx
xor eax, eax
mov byte [ebp - 0x1c0a], al
mov dword [ebp - 0x22c8], 0x6b98ed8f
mov dword [ebp - 0x1e88], 0x6b98ed8f
mov ecx, dword [ebp - 0x1e88]
mov dword [ebp - 0x1c40], ecx
mov edx, dword [0x10561178]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x108c2454]
cmp edx, dword [ecx + 4]
jle 0x1023d679
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023d679
mov byte [ebp - 4], 7
xor eax, eax
mov byte [ebp - 0x1c0b], al
mov dword [ebp - 0x22cc], 0xda7d68cb
mov dword [ebp - 0x1e8c], 0xda7d68cb
mov ecx, dword [ebp - 0x1e8c]
mov dword [ebp - 0x1e94], ecx
xor edx, edx
mov byte [ebp - 0x1c0c], dl
mov dword [ebp - 0x22d0], 0x990704d7
mov dword [ebp - 0x1e90], 0x990704d7
mov eax, dword [ebp - 0x1e90]
push eax
lea ecx, [ebp - 0x24a0]
push ecx
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x1e98], eax
mov edx, dword [ebp - 0x1e94]
push edx
mov eax, dword [ebp - 0x1e98]
push eax
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023d690
mov ecx, dword [0x108c2458]
mov dword [ebp - 0x1c38], ecx
jmp 0x1023d69a
mov dword [ebp - 0x1c38], 0
mov edx, dword [ebp - 0x1c38]
mov dword [ebp - 0x1e9c], edx
mov eax, dword [ebp - 0x1e9c]
call eax
mov dword [ebp - 0x1ea0], eax
mov ecx, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1bc8], ecx
cmp dword [ebp - 0x1cb4], 0
je 0x1023d6db
cmp dword [ebp - 0x1c40], 0
je 0x1023d6db
cmp dword [ebp - 0x1bc8], 0
jne 0x1023d6ea
mov dword [ebp - 0x1bd4], 0
jmp 0x1023d83c
mov edx, dword [ebp - 0x1cb4]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1afc], eax
jmp 0x1023d70a
mov ecx, dword [ebp - 0x1afc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x1afc], edx
cmp dword [ebp - 0x1afc], 0
je 0x1023d832
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1ea4], edx
mov eax, dword [ebp - 0x1afc]
mov ecx, dword [eax]
and ecx, 0xffffff
push ecx
mov ecx, dword [ebp - 0x1bc8]
call dword [ebp - 0x1ea4]
mov dword [ebp - 0x1bcc], eax
cmp dword [ebp - 0x1bcc], 0
je 0x1023d82d
mov dword [ebp - 0x1bd0], 0x811c9dc5
mov dword [ebp - 0x1ae4], 0
mov edx, dword [ebp - 0x1ae4]
add edx, 1
mov dword [ebp - 0x1ae4], edx
mov eax, dword [ebp - 0x1bcc]
add eax, dword [ebp - 0x1ae4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x1023d78e
jmp 0x1023d76a
xor edx, edx
je 0x1023d7a1
mov eax, dword [ebp - 0x1ae4]
add eax, 1
mov dword [ebp - 0x1ae4], eax
mov ecx, dword [ebp - 0x1ae4]
mov dword [ebp - 0x1ea8], ecx
mov edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1eac], edx
mov dword [ebp - 0x1b6c], 0
jmp 0x1023d7d4
mov eax, dword [ebp - 0x1b6c]
add eax, 1
mov dword [ebp - 0x1b6c], eax
mov ecx, dword [ebp - 0x1b6c]
cmp ecx, dword [ebp - 0x1eac]
jae 0x1023d805
mov edx, dword [ebp - 0x1bcc]
add edx, dword [ebp - 0x1b6c]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x1bd0]
imul ecx, eax, 0x1000193
mov dword [ebp - 0x1bd0], ecx
jmp 0x1023d7c5
mov edx, dword [ebp - 0x1bd0]
mov dword [ebp - 0x1eb0], edx
mov eax, dword [ebp - 0x1eb0]
cmp eax, dword [ebp - 0x1c40]
jne 0x1023d82d
mov ecx, dword [ebp - 0x1afc]
mov dword [ebp - 0x1bd4], ecx
jmp 0x1023d83c
jmp 0x1023d6fb
mov dword [ebp - 0x1bd4], 0
mov edx, dword [ebp - 0x1bd4]
mov dword [ebp - 0x1b00], edx
mov dword [ebp - 0x1ab8], 0
mov eax, dword [ebp - 0x1b00]
movsx ecx, byte [eax + 0x10]
mov dword [ebp - 0x1b68], ecx
mov edx, dword [ebp - 0x1b68]
sub edx, 1
mov dword [ebp - 0x1b68], edx
cmp dword [ebp - 0x1b68], 6
ja case.0x1023d884.1
mov eax, dword [ebp - 0x1b68]
jmp dword [eax*4 + 0x1023fb94]
mov ecx, dword [ebp - 0x1b00]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x1ab8], eax
jmp 0x1023d934
mov eax, dword [ebp - 0x1b00]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x1ab8], eax
jmp 0x1023d934
mov edx, dword [ebp - 0x1b00]
vmovss xmm0, dword [edx + 0xc]
vmovss dword [ebp - 0x1eb4], xmm0
fld dword [ebp - 0x1eb4]
fstp qword [ebp - 0x23c4]
vxorps xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [ebp - 0x23c4], 1
vmovsd qword [ebp - 0x23cc], xmm0
fld qword [ebp - 0x23cc]
fstp dword [ebp - 0x1eb8]
vmovss xmm0, dword [ebp - 0x1eb8]
vcvttss2si eax, xmm0
mov dword [ebp - 0x1ab8], eax
jmp 0x1023d934
mov dword [ebp - 0x1ab8], 0
jmp 0x1023d934
mov ecx, dword [ebp - 0x1b00]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1ab8], edx
cmp dword [ebp - 0x1ab8], 0
je 0x1023d94b
mov eax, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1c44], eax
jmp 0x1023d955
mov dword [ebp - 0x1c44], 0
mov ecx, dword [ebp - 0x1c44]
mov dword [ebp - 0x1ebc], ecx
mov edx, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1c], edx
mov eax, dword [0x108bd044]
sub eax, 0x35
xor eax, 0x286b04fd
mov dword [ebp - 0x1ec0], eax
mov ecx, dword [ebp - 0x1ec0]
mov dword [ebp - 0x1ec4], ecx
mov edx, dword [0x1078a80c]
add edx, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1ec8], edx
mov eax, dword [ebp - 0x1ec8]
mov dword [ebp - 0x1ecc], eax
mov ecx, dword [ebp - 0x1ecc]
vcvtsi2ss xmm0, xmm0, dword [ecx]
mov edx, dword [0x108a1c74]
vmovss xmm1, dword [edx + 0x20]
vmulss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1ed0], xmm0
vmovss xmm0, dword [ebp - 0x1ed0]
vmovss dword [ebp - 0x22d4], xmm0
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x14], 0
call fcn.101b96e0
movzx eax, al
test eax, eax
je 0x1023da7f
vmovss xmm0, dword [0x105474ac]
vmovss dword [0x108c231c], xmm0
mov ecx, dword [0x108a1c74]
vmovss xmm0, dword [ecx + 0x10]
vmovss dword [0x108c2314], xmm0
vmovss xmm0, dword [0x108c2314]
vaddss xmm0, xmm0, dword [0x108c231c]
vmovss dword [0x108c2318], xmm0
cmp dword [ebp - 0x1c], 1
jge 0x1023da54
cmp dword [ebp - 0x1a84], 1
jne 0x1023da54
mov edx, dword [0x108beaa0]
mov dword [ebp - 0x14], edx
jmp 0x1023da76
cmp dword [ebp - 0x1c], 1
jge 0x1023da6d
cmp dword [ebp - 0x1a84], 1
je 0x1023da6d
mov eax, dword [0x108bea88]
mov dword [ebp - 0x14], eax
jmp 0x1023da76
mov ecx, dword [0x108beaa4]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov dword [0x108c2320], edx
mov al, byte [0x108bc840]
mov byte [ebp - 0x1aba], al
movzx ecx, byte [ebp - 0x1aba]
test ecx, ecx
je 0x1023e145
mov edx, dword [0x108bd080]
sub edx, 0x44
xor edx, 0x286b050c
mov dword [ebp - 0x1ed4], edx
mov eax, dword [ebp - 0x1ed4]
mov dword [ebp - 0x1ed8], eax
mov ecx, dword [ebp - 0x1ae8]
add ecx, dword [ebp - 0x1ed8]
mov dword [ebp - 0x1edc], ecx
mov edx, dword [ebp - 0x1edc]
mov dword [ebp - 0x1ee0], edx
mov eax, dword [ebp - 0x1ee0]
movzx ecx, byte [eax]
test ecx, ecx
je 0x1023e145
cmp dword [ebp - 0x1a84], 1
jne 0x1023e145
mov edx, dword [0x108a1c08]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1fb8], ecx
cmp dword [ebp - 0x1a84], 1
jne 0x1023db1c
mov dword [ebp - 0x1c58], 1
jmp 0x1023db26
mov dword [ebp - 0x1c58], 0
mov dword [ebp - 0x1bd8], 0x80
lea edx, [ebp - 0x1a7c]
mov dword [ebp - 0x1bdc], edx
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0x1ee4], eax
mov ecx, dword [ebp - 0x1bd8]
sub ecx, 1
mov dword [ebp - 0x1bd8], ecx
cmp dword [ebp - 0x1ee4], 0
jbe 0x1023db87
mov dword [ebp - 0x1ee8], 0x10041740
mov ecx, dword [ebp - 0x1bdc]
call dword [ebp - 0x1ee8]
mov edx, dword [ebp - 0x1bdc]
add edx, 0x30
mov dword [ebp - 0x1bdc], edx
jmp 0x1023db3c
mov eax, dword [ebp - 0x1ae8]
add eax, 4
mov dword [ebp - 0x1eec], eax
lea ecx, [ebp - 0x1ef4]
mov dword [ebp - 0x1c48], ecx
mov edx, dword [ebp - 0x1eec]
mov eax, dword [ebp - 0x1c48]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1c48]
mov dword [ebp - 0x1ef0], ecx
mov edx, dword [ebp - 0x1ef0]
mov dword [ebp - 0x23f8], edx
mov eax, dword [ebp - 0x1ef4]
mov ecx, dword [eax]
mov dword [ebp - 0x1ef8], ecx
mov edx, 8
shl edx, 2
mov eax, dword [ebp - 0x1ef8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1efc], ecx
mov edx, dword [ebp - 0x1efc]
mov dword [ebp - 0x1f00], edx
mov eax, dword [ebp - 0x1f00]
mov dword [ebp - 0x1f04], eax
mov ecx, dword [ebp - 0x1f04]
mov dword [ebp - 0x1f10], ecx
mov edx, dword [ebp - 0x1ae8]
add edx, 4
mov dword [ebp - 0x1f08], edx
mov eax, dword [ebp - 0x1f08]
mov dword [ebp - 0x1f0c], eax
mov ecx, dword [ebp - 0x1f0c]
call dword [ebp - 0x1f10]
mov dword [ebp - 0x1f14], eax
mov ecx, dword [ebp - 0x1f14]
mov dword [ebp - 0x1c50], ecx
cmp dword [ebp - 0x1c50], 0
je 0x1023e0c8
mov edx, dword [0x108a1c4c]
mov dword [ebp - 0x1c54], edx
lea eax, [ebp - 0x1f1c]
mov dword [ebp - 0x1c4c], eax
mov ecx, dword [ebp - 0x1c4c]
mov edx, dword [ebp - 0x1c54]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1c4c]
mov dword [ebp - 0x1f18], eax
mov ecx, dword [ebp - 0x1f18]
mov dword [ebp - 0x22dc], ecx
mov edx, dword [ebp - 0x1f1c]
mov eax, dword [edx]
mov dword [ebp - 0x1f20], eax
mov ecx, 0x1e
shl ecx, 2
mov edx, dword [ebp - 0x1f20]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1f24], eax
mov ecx, dword [ebp - 0x1f24]
mov dword [ebp - 0x1f28], ecx
mov edx, dword [ebp - 0x1f28]
mov dword [ebp - 0x1f2c], edx
mov eax, dword [ebp - 0x1f2c]
mov dword [ebp - 0x1f30], eax
mov ecx, dword [ebp - 0x1c50]
push ecx
mov ecx, dword [ebp - 0x1c54]
call dword [ebp - 0x1f30]
mov dword [ebp - 0x1f34], eax
mov edx, dword [ebp - 0x1f34]
mov dword [ebp - 0x1be0], edx
cmp dword [ebp - 0x1be0], 0
je 0x1023e0c8
mov eax, dword [ebp - 0x1be0]
mov ecx, dword [ebp - 0x1be0]
add ecx, dword [eax + 0xb0]
xor edx, edx
imul eax, edx, 0xc
add ecx, eax
mov dword [ebp - 0x1f38], ecx
mov ecx, dword [ebp - 0x1f38]
mov dword [ebp - 0x1be4], ecx
cmp dword [ebp - 0x1be4], 0
jne 0x1023dd50
mov dword [ebp - 0x1c5c], 0
jmp 0x1023dd7a
mov edx, dword [ebp - 0x1be4]
mov eax, dword [ebp - 0x1be4]
add eax, dword [edx + 8]
imul ecx, dword [ebp - 0x1c58], 0x44
add eax, ecx
mov dword [ebp - 0x1f3c], eax
mov edx, dword [ebp - 0x1f3c]
mov dword [ebp - 0x1c5c], edx
mov eax, dword [ebp - 0x1c5c]
mov dword [ebp - 0x1b04], eax
cmp dword [ebp - 0x1b04], 0
je 0x1023e0c8
mov dword [ebp - 0x1f40], 0x80
mov ecx, dword [ebp - 0x1f40]
mov dword [ebp - 0x1f68], ecx
lea edx, [ebp - 0x1a7c]
mov dword [ebp - 0x1f44], edx
mov eax, dword [ebp - 0x1f44]
mov dword [ebp - 0x1f6c], eax
mov ecx, dword [ebp - 0x1ae8]
add ecx, 4
mov dword [ebp - 0x1f48], ecx
lea edx, [ebp - 0x1f50]
mov dword [ebp - 0x1c60], edx
mov eax, dword [ebp - 0x1f48]
mov ecx, dword [ebp - 0x1c60]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1c60]
mov dword [ebp - 0x1f4c], edx
mov eax, dword [ebp - 0x1f4c]
mov dword [ebp - 0x22e0], eax
mov ecx, dword [ebp - 0x1f50]
mov edx, dword [ecx]
mov dword [ebp - 0x1f54], edx
mov eax, 0xd
shl eax, 2
mov ecx, dword [ebp - 0x1f54]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1f58], edx
mov eax, dword [ebp - 0x1f58]
mov dword [ebp - 0x1f5c], eax
mov ecx, dword [ebp - 0x1f5c]
mov dword [ebp - 0x1f60], ecx
mov edx, dword [ebp - 0x1f60]
mov dword [ebp - 0x1f74], edx
mov eax, dword [ebp - 0x1ae8]
add eax, 4
mov dword [ebp - 0x1f64], eax
mov ecx, dword [ebp - 0x1f64]
mov dword [ebp - 0x1f70], ecx
push ecx
vxorps xmm0, xmm0, xmm0
vmovss dword [esp], xmm0
push 0x100
mov edx, dword [ebp - 0x1f68]
push edx
mov eax, dword [ebp - 0x1f6c]
push eax
mov ecx, dword [ebp - 0x1f70]
call dword [ebp - 0x1f74]
mov byte [ebp - 0x1abb], al
movzx ecx, byte [ebp - 0x1abb]
test ecx, ecx
je 0x1023e0c8
mov edx, dword [ebp - 0x1b04]
mov eax, dword [edx]
mov dword [ebp - 0x1c64], eax
cmp dword [ebp - 0x1c64], 0x80
jb 0x1023dec4
call fcn.10159380
nop
imul ecx, dword [ebp - 0x1c64], 0x30
lea edx, [ebp + ecx - 0x1a7c]
mov dword [ebp - 0x1f78], edx
mov eax, dword [ebp - 0x1f78]
push eax
mov ecx, dword [ebp - 0x1b04]
add ecx, 8
push ecx
lea edx, [ebp - 0xc4]
push edx
call fcn.10251d10
add esp, 0xc
mov eax, dword [ebp - 0x1b04]
mov ecx, dword [eax]
mov dword [ebp - 0x1c68], ecx
cmp dword [ebp - 0x1c68], 0x80
jb 0x1023df18
call fcn.10159380
nop
imul edx, dword [ebp - 0x1c68], 0x30
lea eax, [ebp + edx - 0x1a7c]
mov dword [ebp - 0x1f7c], eax
mov ecx, dword [ebp - 0x1f7c]
push ecx
mov edx, dword [ebp - 0x1b04]
add edx, 0x14
push edx
lea eax, [ebp - 0xd0]
push eax
call fcn.10251d10
add esp, 0xc
vmovss xmm0, dword [ebp - 0xc4]
vaddss xmm0, xmm0, dword [ebp - 0xd0]
vmovss dword [ebp - 0x1f80], xmm0
vmovss xmm0, dword [ebp - 0xc0]
vaddss xmm0, xmm0, dword [ebp - 0xcc]
vmovss dword [ebp - 0x1f84], xmm0
vmovss xmm0, dword [ebp - 0xbc]
vaddss xmm0, xmm0, dword [ebp - 0xc8]
vmovss dword [ebp - 0x1f88], xmm0
vmovss xmm0, dword [ebp - 0x1f80]
vmovss dword [ebp - 0x22a4], xmm0
vmovss xmm0, dword [ebp - 0x1f84]
vmovss dword [ebp - 0x22a0], xmm0
vmovss xmm0, dword [ebp - 0x1f88]
vmovss dword [ebp - 0x229c], xmm0
lea ecx, [ebp - 0x22a4]
mov dword [ebp - 0x1f8c], ecx
mov edx, dword [ebp - 0x1f8c]
mov dword [ebp - 0x1be8], edx
mov eax, dword [ebp - 0x1be8]
vmovss xmm0, dword [eax]
vmulss xmm0, xmm0, dword [0x10547454]
vmovss dword [ebp - 0x1f90], xmm0
mov ecx, dword [ebp - 0x1be8]
vmovss xmm0, dword [ecx + 4]
vmulss xmm0, xmm0, dword [0x10547454]
vmovss dword [ebp - 0x1f94], xmm0
mov edx, dword [ebp - 0x1be8]
vmovss xmm0, dword [edx + 8]
vmulss xmm0, xmm0, dword [0x10547454]
vmovss dword [ebp - 0x1f98], xmm0
vmovss xmm0, dword [ebp - 0x1f90]
vmovss dword [ebp - 0x22b0], xmm0
vmovss xmm0, dword [ebp - 0x1f94]
vmovss dword [ebp - 0x22ac], xmm0
vmovss xmm0, dword [ebp - 0x1f98]
vmovss dword [ebp - 0x22a8], xmm0
lea eax, [ebp - 0x22b0]
mov dword [ebp - 0x1f9c], eax
mov ecx, dword [ebp - 0x1f9c]
mov dword [ebp - 0x1fa0], ecx
mov edx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x1fa4], edx
mov al, byte [0x10546d84]
mov byte [ebp - 0x1c0d], al
mov ecx, dword [ebp - 0x1fa4]
mov dword [ebp - 0x1fa8], ecx
lea edx, [ebp - 0x22c0]
mov eax, dword [ebp - 0x1fa8]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov byte [ebp - 0x22b4], 1
lea ecx, [ebp - 0x22c0]
mov dword [ebp - 0x1c6c], ecx
jmp 0x1023e0e7
mov dl, byte [0x10546d85]
mov byte [ebp - 0x1c14], dl
mov byte [ebp - 0x22b4], 0
lea eax, [ebp - 0x22c0]
mov dword [ebp - 0x1c6c], eax
mov ecx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c70], ecx
mov edx, dword [ebp - 0x1c70]
movzx eax, byte [edx + 0xc]
test eax, eax
jne 0x1023e107
call fcn.10156840
nop
mov ecx, dword [ebp - 0x1c70]
mov dword [ebp - 0x1fac], ecx
mov edx, dword [ebp - 0x1fac]
mov dword [ebp - 0x1fb0], edx
mov eax, dword [ebp - 0x1fb0]
mov dword [ebp - 0x1fb4], eax
push 0
push 1
push 2
mov ecx, dword [ebp - 0x1fb4]
push ecx
mov ecx, dword [0x108a1c08]
call dword [ebp - 0x1fb8]
nop
mov dword [ebp - 0x50], 3
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x1fc0], edx
lea eax, [ebp - 0x1fc0]
mov dword [ebp - 0x1fc4], eax
mov ecx, dword [ebp - 0x1fc4]
mov edx, dword [ecx]
mov dword [ebp - 0x1fc8], edx
mov eax, dword [ebp - 0x1fc8]
mov dword [ebp - 0x1fcc], eax
mov dword [ebp - 0x1fd0], 0x108bc910
mov dword [ebp - 0x1fd4], 0x108bc910
mov ecx, dword [ebp - 0x1fcc]
push ecx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x22e4], esp
push edx
mov ecx, dword [ebp - 0x1fd0]
call fcn.10049550
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x22e8], esp
push eax
mov ecx, dword [ebp - 0x1fd4]
call fcn.100495e0
lea ecx, [ebp - 0x2410]
push ecx
call fcn.100535e0
add esp, 0x20
mov dword [ebp - 0x1fd8], eax
mov edx, dword [ebp - 0x1fd8]
mov dword [ebp - 0x1fdc], edx
mov eax, dword [ebp - 0x1fdc]
mov dword [ebp - 0x1c74], eax
mov dword [ebp - 0x1fe0], 0x108bc910
lea ecx, [ebp - 0x2428]
push ecx
mov ecx, dword [ebp - 0x1fe0]
call fcn.10049550
mov dword [ebp - 0x1fe4], eax
mov edx, dword [ebp - 0x1fe4]
mov dword [ebp - 0x1c78], edx
mov eax, dword [ebp - 0x1c78]
push eax
mov ecx, dword [ebp - 0x1c74]
call fcn.1004d730
mov ecx, dword [ebp - 0x1c74]
mov edx, dword [ebp - 0x1c78]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 8]
jne 0x1023e251
mov dword [ebp - 0x1c7c], 1
jmp 0x1023e25b
mov dword [ebp - 0x1c7c], 0
mov cl, byte [ebp - 0x1c7c]
mov byte [ebp - 0x1abc], cl
movzx edx, byte [ebp - 0x1abc]
test edx, edx
jne 0x1023e27e
mov dword [ebp - 0x1c80], 1
jmp 0x1023e288
mov dword [ebp - 0x1c80], 0
mov al, byte [ebp - 0x1c80]
mov byte [ebp - 0x1abd], al
mov cl, byte [ebp - 0x1abd]
mov byte [ebp - 0x1abe], cl
push 3
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x2428]
call fcn.1003faf0
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
push 3
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x2410]
call fcn.1003faf0
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
mov dl, byte [ebp - 0x1abe]
mov byte [ebp - 0x1a85], dl
movzx eax, byte [ebp - 0x1a85]
test eax, eax
je 0x1023e363
mov ecx, dword [0x108a1c6c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1ff8], eax
vmovss xmm0, dword [0x108bcafc]
vmovss dword [ebp - 0x1ff0], xmm0
vmovss xmm0, dword [ebp - 0x1ff0]
vdivss xmm0, xmm0, dword [0x10547624]
vmovss dword [ebp - 0x1ff4], xmm0
push ecx
vxorps xmm0, xmm0, xmm0
vmovss dword [esp], xmm0
push 0
push 0x64
push ecx
vmovss xmm0, dword [ebp - 0x1ff4]
vmovss dword [esp], xmm0
push str.buttons_arena_switch_press_02.wav
mov ecx, dword [0x108a1c6c]
call dword [ebp - 0x1ff8]
nop
jmp 0x1023e6b0
mov dword [ebp - 0x1c84], 0x1078c1fc
mov ecx, dword [ebp - 0x1c84]
mov edx, dword [ebp - 0x1c84]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 8]
jne 0x1023e38d
mov dword [ebp - 0x1c88], 1
jmp 0x1023e397
mov dword [ebp - 0x1c88], 0
mov cl, byte [ebp - 0x1c88]
mov byte [ebp - 0x1a86], cl
movzx edx, byte [ebp - 0x1a86]
test edx, edx
jne 0x1023e6b0
mov dword [ebp - 0x44], 4
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2000], eax
lea ecx, [ebp - 0x2000]
mov dword [ebp - 0x2004], ecx
mov edx, dword [ebp - 0x2004]
mov eax, dword [edx]
mov dword [ebp - 0x2008], eax
mov ecx, dword [ebp - 0x2008]
mov dword [ebp - 0x200c], ecx
mov dword [ebp - 0x2010], 0x108bc910
mov dword [ebp - 0x2014], 0x108bc910
mov edx, dword [ebp - 0x200c]
push edx
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x22ec], esp
push eax
mov ecx, dword [ebp - 0x2010]
call fcn.10049550
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x22f0], esp
push ecx
mov ecx, dword [ebp - 0x2014]
call fcn.100495e0
lea edx, [ebp - 0x2440]
push edx
call fcn.100535e0
add esp, 0x20
mov dword [ebp - 0x2018], eax
mov eax, dword [ebp - 0x2018]
mov dword [ebp - 0x201c], eax
mov ecx, dword [ebp - 0x201c]
mov dword [ebp - 0x1c8c], ecx
mov dword [ebp - 0x2020], 0x108bc910
lea edx, [ebp - 0x241c]
push edx
mov ecx, dword [ebp - 0x2020]
call fcn.10049550
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2024]
mov dword [ebp - 0x1c90], eax
mov ecx, dword [ebp - 0x1c90]
push ecx
mov ecx, dword [ebp - 0x1c8c]
call fcn.1004d730
mov edx, dword [ebp - 0x1c8c]
mov eax, dword [ebp - 0x1c90]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax + 8]
jne 0x1023e4be
mov dword [ebp - 0x1c94], 1
jmp 0x1023e4c8
mov dword [ebp - 0x1c94], 0
mov dl, byte [ebp - 0x1c94]
mov byte [ebp - 0x1a87], dl
movzx eax, byte [ebp - 0x1a87]
test eax, eax
jne 0x1023e4eb
mov dword [ebp - 0x1c98], 1
jmp 0x1023e4f5
mov dword [ebp - 0x1c98], 0
mov cl, byte [ebp - 0x1c98]
mov byte [ebp - 0x1a88], cl
mov dl, byte [ebp - 0x1a88]
mov byte [ebp - 0x1a89], dl
push 3
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x241c]
call fcn.1003faf0
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
push 3
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x2440]
call fcn.1003faf0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
mov al, byte [ebp - 0x1a89]
mov byte [ebp - 0x1a8a], al
movzx ecx, byte [ebp - 0x1a8a]
test ecx, ecx
je 0x1023e6b0
push str.username
call dword [sym.imp.ucrtbased.dll_getenv]
add esp, 4
mov dword [ebp - 0x2030], eax
mov edx, dword [ebp - 0x2030]
push edx
lea ecx, [ebp - 0x124]
call fcn.1004d0e0
mov byte [ebp - 4], 8
push 0x104c1504
lea ecx, [ebp - 0x2514]
call fcn.1004d0e0
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2038], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2044], ecx
mov edx, dword [0x108bcbfc]
mov dword [ebp - 0x203c], edx
mov eax, dword [ebp - 0x203c]
push eax
mov ecx, 0x1078c1fc
call fcn.1006abf0
mov dword [ebp - 0x2040], eax
mov ecx, dword [ebp - 0x2040]
push ecx
mov ecx, dword [ebp - 0x2044]
call fcn.10090b60
push eax
lea ecx, [ebp - 0x108]
call fcn.1004d1c0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2514]
call fcn.1004cfa0
nop
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x2048], edx
cmp dword [ebp - 0x2048], 2
jbe 0x1023e691
xor eax, eax
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0x1a80]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x22f4], esp
lea ecx, [ebp - 0x108]
call fcn.1004cdf0
push eax
mov ecx, esi
call fcn.1004d0e0
lea ecx, [ebp - 0x15]
call fcn.10237920
nop
lea eax, [ebp - 0x74]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x1a80], 0
je 0x1023e691
mov ecx, dword [ebp - 0x1a80]
push ecx
lea ecx, [ebp - 0x70]
call fcn.102377f0
push 5
push 0
mov edx, dword [ebp - 0x1a80]
push edx
call dword [sym.imp.WINMM.dll_PlaySoundA]
nop
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x108]
call fcn.1004cfa0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x124]
call fcn.1004cfa0
nop
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1ca0], ecx
xor edx, edx
mov byte [ebp - 0x1c15], dl
mov dword [ebp - 0x22f8], 0x6f332041
mov dword [ebp - 0x2054], 0x6f332041
mov eax, dword [ebp - 0x2054]
mov dword [ebp - 0x1ca4], eax
mov ecx, dword [0x10561178]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x108c2454]
cmp ecx, dword [eax + 4]
jle 0x1023e7bd
push 0x108c2454
call fcn.10190760
add esp, 4
cmp dword [0x108c2454], 0xffffffff
jne 0x1023e7bd
mov byte [ebp - 4], 0xc
xor edx, edx
mov byte [ebp - 0x1c16], dl
mov dword [ebp - 0x22fc], 0xda7d68cb
mov dword [ebp - 0x2058], 0xda7d68cb
mov eax, dword [ebp - 0x2058]
mov dword [ebp - 0x2060], eax
xor ecx, ecx
mov byte [ebp - 0x1c17], cl
mov dword [ebp - 0x2300], 0x990704d7
mov dword [ebp - 0x205c], 0x990704d7
mov edx, dword [ebp - 0x205c]
push edx
lea eax, [ebp - 0x24ac]
push eax
call fcn.101eadb0
add esp, 8
mov dword [ebp - 0x2064], eax
mov ecx, dword [ebp - 0x2060]
push ecx
mov edx, dword [ebp - 0x2064]
push edx
push 0x108c2458
call fcn.101e9ea0
add esp, 0xc
push 0x102ab990
call fcn.10191200
add esp, 4
mov byte [ebp - 4], 1
push 0x108c2454
call fcn.10190710
add esp, 4
cmp dword [0x108c2458], 0
je 0x1023e7d3
mov eax, dword [0x108c2458]
mov dword [ebp - 0x1c9c], eax
jmp 0x1023e7dd
mov dword [ebp - 0x1c9c], 0
mov ecx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x2068], ecx
mov edx, dword [ebp - 0x2068]
call edx
mov dword [ebp - 0x206c], eax
mov eax, dword [ebp - 0x206c]
mov dword [ebp - 0x1bf0], eax
cmp dword [ebp - 0x1ca0], 0
je 0x1023e81e
cmp dword [ebp - 0x1ca4], 0
je 0x1023e81e
cmp dword [ebp - 0x1bf0], 0
jne 0x1023e82d
mov dword [ebp - 0x1bfc], 0
jmp 0x1023e97e
mov ecx, dword [ebp - 0x1ca0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b08], edx
jmp 0x1023e84d
mov eax, dword [ebp - 0x1b08]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x1b08], ecx
cmp dword [ebp - 0x1b08], 0
je 0x1023e974
mov edx, dword [ebp - 0x1bf0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2070], ecx
mov edx, dword [ebp - 0x1b08]
mov eax, dword [edx]
and eax, 0xffffff
push eax
mov ecx, dword [ebp - 0x1bf0]
call dword [ebp - 0x2070]
mov dword [ebp - 0x1bf4], eax
cmp dword [ebp - 0x1bf4], 0
je 0x1023e96f
mov dword [ebp - 0x1bf8], 0x811c9dc5
mov dword [ebp - 0x1ac4], 0
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
mov edx, dword [ebp - 0x1bf4]
add edx, dword [ebp - 0x1ac4]
movsx eax, byte [edx]
test eax, eax
je 0x1023e8d0
jmp 0x1023e8ac
xor ecx, ecx
je 0x1023e8e3
mov edx, dword [ebp - 0x1ac4]
add edx, 1
mov dword [ebp - 0x1ac4], edx
mov eax, dword [ebp - 0x1ac4]
mov dword [ebp - 0x2074], eax
mov ecx, dword [ebp - 0x2074]
mov dword [ebp - 0x2078], ecx
mov dword [ebp - 0x1b60], 0
jmp 0x1023e916
mov edx, dword [ebp - 0x1b60]
add edx, 1
mov dword [ebp - 0x1b60], edx
mov eax, dword [ebp - 0x1b60]
cmp eax, dword [ebp - 0x2078]
jae 0x1023e947
mov ecx, dword [ebp - 0x1bf4]
add ecx, dword [ebp - 0x1b60]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0x1bf8]
imul eax, edx, 0x1000193
mov dword [ebp - 0x1bf8], eax
jmp 0x1023e907
mov ecx, dword [ebp - 0x1bf8]
mov dword [ebp - 0x207c], ecx
mov edx, dword [ebp - 0x207c]
cmp edx, dword [ebp - 0x1ca4]
jne 0x1023e96f
mov eax, dword [ebp - 0x1b08]
mov dword [ebp - 0x1bfc], eax
jmp 0x1023e97e
jmp 0x1023e83e
mov dword [ebp - 0x1bfc], 0
mov ecx, dword [ebp - 0x1bfc]
mov edx, dword [ecx + 4]
push edx
lea ecx, [ebp - 0xec]
call fcn.1004d0e0
mov byte [ebp - 4], 0xd
push 0x104c1550
lea ecx, [ebp - 0xec]
call fcn.100c1280
mov byte [ebp - 0x1a8b], al
movzx eax, byte [ebp - 0x1a8b]
test eax, eax
je 0x1023eac7
mov ecx, dword [0x108bea8c]
mov dword [ebp - 0x208c], ecx
vcvttss2si edx, dword [ebp - 0x1b64]
mov dword [ebp - 0x2080], edx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x2080]
push ecx
lea edx, [ebp - 0x38]
push edx
push str.naded__s_for__i_damage___i_health_remaining__n
lea eax, [ebp - 0x2530]
push eax
call fcn.10159d00
add esp, 0x14
mov dword [ebp - 0x2084], eax
mov ecx, dword [ebp - 0x2084]
mov dword [ebp - 0x2088], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x2088]
mov dword [ebp - 0x2098], edx
vmovss xmm0, dword [0x10547564]
vmovss dword [ebp - 0x6c], xmm0
mov eax, dword [ebp - 0x208c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x1ca8], 0x108bcf38
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x2098]
push eax
lea ecx, [ebp - 0x2288]
push ecx
call fcn.1006c060
add esp, 0x10
mov dword [ebp - 0x209c], eax
mov edx, dword [ebp - 0x209c]
mov dword [ebp - 0x20a0], edx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1ca8]
call fcn.1006b380
mov eax, dword [ebp - 0x20a0]
mov dword [ebp - 0x20a4], eax
mov ecx, dword [ebp - 0x20a4]
push ecx
mov ecx, dword [ebp - 0x1ca8]
call fcn.1006c680
nop
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x2284], 0
je 0x1023eab2
mov ecx, dword [ebp - 0x2284]
call fcn.1003ff20
nop
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2530]
call fcn.1004cfa0
nop
jmp 0x1023f87f
push str.inferno
lea ecx, [ebp - 0xec]
call fcn.100c1280
mov byte [ebp - 0x1a8c], al
movzx edx, byte [ebp - 0x1a8c]
test edx, edx
je 0x1023ebf6
mov eax, dword [0x108bea8c]
mov dword [ebp - 0x20b4], eax
vcvttss2si ecx, dword [ebp - 0x1b64]
mov dword [ebp - 0x20a8], ecx
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x20a8]
push eax
lea ecx, [ebp - 0x38]
push ecx
push str.burned__s_for__i_damage___i_health_remaining__n
lea edx, [ebp - 0x254c]
push edx
call fcn.10159d00
add esp, 0x14
mov dword [ebp - 0x20ac], eax
mov eax, dword [ebp - 0x20ac]
mov dword [ebp - 0x20b0], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x20b0]
mov dword [ebp - 0x20c0], ecx
vmovss xmm0, dword [0x10547564]
vmovss dword [ebp - 0x68], xmm0
mov edx, dword [ebp - 0x20b4]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x1cac], 0x108bcf38
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x20c0]
push edx
lea eax, [ebp - 0x2290]
push eax
call fcn.1006c060
add esp, 0x10
mov dword [ebp - 0x20c4], eax
mov ecx, dword [ebp - 0x20c4]
mov dword [ebp - 0x20c8], ecx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1cac]
call fcn.1006b380
mov edx, dword [ebp - 0x20c8]
mov dword [ebp - 0x20cc], edx
mov eax, dword [ebp - 0x20cc]
push eax
mov ecx, dword [ebp - 0x1cac]
call fcn.1006c680
nop
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x228c], 0
je 0x1023ebe1
mov ecx, dword [ebp - 0x228c]
call fcn.1003ff20
nop
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x254c]
call fcn.1004cfa0
nop
jmp 0x1023f87f
mov ecx, dword [0x108bea7c]
mov dword [ebp - 0x2168], ecx
vcvttss2si edx, dword [ebp - 0x1b64]
mov dword [ebp - 0x2158], edx
push 0x10546d4c
lea ecx, [ebp - 0x9c]
call fcn.1004d0e0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1a84]
mov dword [ebp - 0x1b94], eax
mov ecx, dword [ebp - 0x1b94]
sub ecx, 1
mov dword [ebp - 0x1b94], ecx
cmp dword [ebp - 0x1b94], 7
ja case.default.0x1023ec52
mov edx, dword [ebp - 0x1b94]
jmp dword [edx*4 + 0x1023fbb0]
mov dword [ebp - 0x1b0c], str.head
mov eax, dword [ebp - 0x1b0c]
add eax, 1
mov dword [ebp - 0x20d0], eax
mov ecx, dword [ebp - 0x1b0c]
mov dl, byte [ecx]
mov byte [ebp - 0x1aad], dl
add dword [ebp - 0x1b0c], 1
cmp byte [ebp - 0x1aad], 0
jne 0x1023ec72
mov eax, dword [ebp - 0x1b0c]
sub eax, dword [ebp - 0x20d0]
mov dword [ebp - 0x20d4], eax
mov ecx, dword [ebp - 0x20d4]
mov dword [ebp - 0x20d8], ecx
mov edx, dword [ebp - 0x20d8]
mov dword [ebp - 0x20dc], edx
mov eax, dword [ebp - 0x20dc]
push eax
push str.head
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2304], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b10], str.neck
mov ecx, dword [ebp - 0x1b10]
add ecx, 1
mov dword [ebp - 0x20e0], ecx
mov edx, dword [ebp - 0x1b10]
mov al, byte [edx]
mov byte [ebp - 0x1a8d], al
add dword [ebp - 0x1b10], 1
cmp byte [ebp - 0x1a8d], 0
jne 0x1023ecf5
mov ecx, dword [ebp - 0x1b10]
sub ecx, dword [ebp - 0x20e0]
mov dword [ebp - 0x20e4], ecx
mov edx, dword [ebp - 0x20e4]
mov dword [ebp - 0x20e8], edx
mov eax, dword [ebp - 0x20e8]
mov dword [ebp - 0x20ec], eax
mov ecx, dword [ebp - 0x20ec]
push ecx
push str.neck
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2308], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b14], str.chest
mov edx, dword [ebp - 0x1b14]
add edx, 1
mov dword [ebp - 0x20f0], edx
mov eax, dword [ebp - 0x1b14]
mov cl, byte [eax]
mov byte [ebp - 0x1a8e], cl
add dword [ebp - 0x1b14], 1
cmp byte [ebp - 0x1a8e], 0
jne 0x1023ed78
mov edx, dword [ebp - 0x1b14]
sub edx, dword [ebp - 0x20f0]
mov dword [ebp - 0x20f4], edx
mov eax, dword [ebp - 0x20f4]
mov dword [ebp - 0x20f8], eax
mov ecx, dword [ebp - 0x20f8]
mov dword [ebp - 0x20fc], ecx
mov edx, dword [ebp - 0x20fc]
push edx
push str.chest
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x230c], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b18], str.stomach
mov eax, dword [ebp - 0x1b18]
add eax, 1
mov dword [ebp - 0x2100], eax
mov ecx, dword [ebp - 0x1b18]
mov dl, byte [ecx]
mov byte [ebp - 0x1a8f], dl
add dword [ebp - 0x1b18], 1
cmp byte [ebp - 0x1a8f], 0
jne 0x1023edfb
mov eax, dword [ebp - 0x1b18]
sub eax, dword [ebp - 0x2100]
mov dword [ebp - 0x2104], eax
mov ecx, dword [ebp - 0x2104]
mov dword [ebp - 0x2108], ecx
mov edx, dword [ebp - 0x2108]
mov dword [ebp - 0x210c], edx
mov eax, dword [ebp - 0x210c]
push eax
push str.stomach
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2310], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b1c], str.arms
mov ecx, dword [ebp - 0x1b1c]
add ecx, 1
mov dword [ebp - 0x2110], ecx
mov edx, dword [ebp - 0x1b1c]
mov al, byte [edx]
mov byte [ebp - 0x1a90], al
add dword [ebp - 0x1b1c], 1
cmp byte [ebp - 0x1a90], 0
jne 0x1023ee7e
mov ecx, dword [ebp - 0x1b1c]
sub ecx, dword [ebp - 0x2110]
mov dword [ebp - 0x2114], ecx
mov edx, dword [ebp - 0x2114]
mov dword [ebp - 0x2118], edx
mov eax, dword [ebp - 0x2118]
mov dword [ebp - 0x211c], eax
mov ecx, dword [ebp - 0x211c]
push ecx
push str.arms
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2314], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b58], str.arms
mov edx, dword [ebp - 0x1b58]
add edx, 1
mov dword [ebp - 0x2120], edx
mov eax, dword [ebp - 0x1b58]
mov cl, byte [eax]
mov byte [ebp - 0x1a91], cl
add dword [ebp - 0x1b58], 1
cmp byte [ebp - 0x1a91], 0
jne 0x1023ef01
mov edx, dword [ebp - 0x1b58]
sub edx, dword [ebp - 0x2120]
mov dword [ebp - 0x2124], edx
mov eax, dword [ebp - 0x2124]
mov dword [ebp - 0x2128], eax
mov ecx, dword [ebp - 0x2128]
mov dword [ebp - 0x212c], ecx
mov edx, dword [ebp - 0x212c]
push edx
push str.arms
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2318], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b20], str.legs
mov eax, dword [ebp - 0x1b20]
add eax, 1
mov dword [ebp - 0x2130], eax
mov ecx, dword [ebp - 0x1b20]
mov dl, byte [ecx]
mov byte [ebp - 0x1a92], dl
add dword [ebp - 0x1b20], 1
cmp byte [ebp - 0x1a92], 0
jne 0x1023ef84
mov eax, dword [ebp - 0x1b20]
sub eax, dword [ebp - 0x2130]
mov dword [ebp - 0x2134], eax
mov ecx, dword [ebp - 0x2134]
mov dword [ebp - 0x2138], ecx
mov edx, dword [ebp - 0x2138]
mov dword [ebp - 0x213c], edx
mov eax, dword [ebp - 0x213c]
push eax
push str.legs
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x231c], eax
jmp case.default.0x1023ec52
mov dword [ebp - 0x1b24], str.legs
mov ecx, dword [ebp - 0x1b24]
add ecx, 1
mov dword [ebp - 0x2140], ecx
mov edx, dword [ebp - 0x1b24]
mov al, byte [edx]
mov byte [ebp - 0x1a93], al
add dword [ebp - 0x1b24], 1
cmp byte [ebp - 0x1a93], 0
jne 0x1023f004
mov ecx, dword [ebp - 0x1b24]
sub ecx, dword [ebp - 0x2140]
mov dword [ebp - 0x2144], ecx
mov edx, dword [ebp - 0x2144]
mov dword [ebp - 0x2148], edx
mov eax, dword [ebp - 0x2148]
mov dword [ebp - 0x214c], eax
mov ecx, dword [ebp - 0x214c]
push ecx
push str.legs
lea ecx, [ebp - 0x9c]
call fcn.10066a40
mov dword [ebp - 0x2320], eax
lea edx, [ebp - 0x9c]
push edx
lea ecx, [ebp - 0x2478]
call fcn.1006af10
mov eax, dword [ebp - 0x1ac8]
or eax, 2
mov dword [ebp - 0x1ac8], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9c]
call fcn.1004cfa0
lea ecx, [ebp - 0x2478]
mov dword [ebp - 0x2150], ecx
mov edx, dword [ebp - 0x2150]
mov dword [ebp - 0x2154], edx
mov eax, dword [ebp - 0x2154]
mov dword [ebp - 0x215c], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x2158]
push edx
mov eax, dword [ebp - 0x215c]
push eax
lea ecx, [ebp - 0x38]
push ecx
push str.hit__s_in_the__s_for__i_damage___i_health_remaining__n
lea edx, [ebp - 0x2568]
push edx
call fcn.10159e00
add esp, 0x18
mov dword [ebp - 0x2258], eax
mov eax, dword [ebp - 0x2258]
mov dword [ebp - 0x2164], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x2164]
mov dword [ebp - 0x2174], ecx
vmovss xmm0, dword [0x10547564]
vmovss dword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x2168]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x1cb0], 0x108bcf38
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x2174]
push edx
lea eax, [ebp - 0x2298]
push eax
call fcn.1006c060
add esp, 0x10
mov dword [ebp - 0x2178], eax
mov ecx, dword [ebp - 0x2178]
mov dword [ebp - 0x217c], ecx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1cb0]
call fcn.1006b380
mov edx, dword [ebp - 0x217c]
mov dword [ebp - 0x2180], edx
mov eax, dword [ebp - 0x2180]
push eax
mov ecx, dword [ebp - 0x1cb0]
call fcn.1006c680
nop
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x2294], 0
je 0x1023f1a4
mov ecx, dword [ebp - 0x2294]
call fcn.1003ff20
nop
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2568]
call fcn.1004cfa0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2478]
call fcn.1004cfa0
nop
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2324], esp
push str.hit
call fcn.1004d0e0
push 0x1078a808
call fcn.101cbf10
add esp, 0x20
mov ecx, dword [0x108bea98]
mov dword [ebp - 0x2184], ecx
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2328], esp
lea eax, [ebp - 0x38]
push eax
push 0x104c14bc
push edx
call fcn.10080740
add esp, 0xc
mov ecx, dword [ebp - 0x2184]
push ecx
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov edx, dword [0x108bea7c]
mov dword [ebp - 0x2188], edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x232c], esp
push str.in_the
call fcn.1004d0e0
mov eax, dword [ebp - 0x2188]
push eax
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov ecx, dword [0x108bea98]
mov dword [ebp - 0x2218], ecx
push 0x10546d4c
lea ecx, [ebp - 0xb8]
call fcn.1004d0e0
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1a84]
mov dword [ebp - 0x1b7c], edx
mov eax, dword [ebp - 0x1b7c]
sub eax, 1
mov dword [ebp - 0x1b7c], eax
cmp dword [ebp - 0x1b7c], 7
ja case.default.0x1023f2a5
mov ecx, dword [ebp - 0x1b7c]
jmp dword [ecx*4 + 0x1023fbd0]
mov dword [ebp - 0x1b28], str.head
mov edx, dword [ebp - 0x1b28]
add edx, 1
mov dword [ebp - 0x218c], edx
mov eax, dword [ebp - 0x1b28]
mov cl, byte [eax]
mov byte [ebp - 0x1a94], cl
add dword [ebp - 0x1b28], 1
cmp byte [ebp - 0x1a94], 0
jne 0x1023f2c5
mov edx, dword [ebp - 0x1b28]
sub edx, dword [ebp - 0x218c]
mov dword [ebp - 0x2190], edx
mov eax, dword [ebp - 0x2190]
mov dword [ebp - 0x2194], eax
mov ecx, dword [ebp - 0x2194]
mov dword [ebp - 0x2198], ecx
mov edx, dword [ebp - 0x2198]
push edx
push str.head
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2330], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b48], str.neck
mov eax, dword [ebp - 0x1b48]
add eax, 1
mov dword [ebp - 0x219c], eax
mov ecx, dword [ebp - 0x1b48]
mov dl, byte [ecx]
mov byte [ebp - 0x1a95], dl
add dword [ebp - 0x1b48], 1
cmp byte [ebp - 0x1a95], 0
jne 0x1023f348
mov eax, dword [ebp - 0x1b48]
sub eax, dword [ebp - 0x219c]
mov dword [ebp - 0x21a0], eax
mov ecx, dword [ebp - 0x21a0]
mov dword [ebp - 0x21a4], ecx
mov edx, dword [ebp - 0x21a4]
mov dword [ebp - 0x21a8], edx
mov eax, dword [ebp - 0x21a8]
push eax
push str.neck
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2334], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b44], str.chest
mov ecx, dword [ebp - 0x1b44]
add ecx, 1
mov dword [ebp - 0x21ac], ecx
mov edx, dword [ebp - 0x1b44]
mov al, byte [edx]
mov byte [ebp - 0x1a96], al
add dword [ebp - 0x1b44], 1
cmp byte [ebp - 0x1a96], 0
jne 0x1023f3cb
mov ecx, dword [ebp - 0x1b44]
sub ecx, dword [ebp - 0x21ac]
mov dword [ebp - 0x21b0], ecx
mov edx, dword [ebp - 0x21b0]
mov dword [ebp - 0x21b4], edx
mov eax, dword [ebp - 0x21b4]
mov dword [ebp - 0x21b8], eax
mov ecx, dword [ebp - 0x21b8]
push ecx
push str.chest
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2338], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b40], str.stomach
mov edx, dword [ebp - 0x1b40]
add edx, 1
mov dword [ebp - 0x21bc], edx
mov eax, dword [ebp - 0x1b40]
mov cl, byte [eax]
mov byte [ebp - 0x1a97], cl
add dword [ebp - 0x1b40], 1
cmp byte [ebp - 0x1a97], 0
jne 0x1023f44e
mov edx, dword [ebp - 0x1b40]
sub edx, dword [ebp - 0x21bc]
mov dword [ebp - 0x21c0], edx
mov eax, dword [ebp - 0x21c0]
mov dword [ebp - 0x21c4], eax
mov ecx, dword [ebp - 0x21c4]
mov dword [ebp - 0x21c8], ecx
mov edx, dword [ebp - 0x21c8]
push edx
push str.stomach
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x233c], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b3c], str.arms
mov eax, dword [ebp - 0x1b3c]
add eax, 1
mov dword [ebp - 0x21cc], eax
mov ecx, dword [ebp - 0x1b3c]
mov dl, byte [ecx]
mov byte [ebp - 0x1a98], dl
add dword [ebp - 0x1b3c], 1
cmp byte [ebp - 0x1a98], 0
jne 0x1023f4d1
mov eax, dword [ebp - 0x1b3c]
sub eax, dword [ebp - 0x21cc]
mov dword [ebp - 0x21d0], eax
mov ecx, dword [ebp - 0x21d0]
mov dword [ebp - 0x21d4], ecx
mov edx, dword [ebp - 0x21d4]
mov dword [ebp - 0x21d8], edx
mov eax, dword [ebp - 0x21d8]
push eax
push str.arms
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2340], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b38], str.arms
mov ecx, dword [ebp - 0x1b38]
add ecx, 1
mov dword [ebp - 0x21dc], ecx
mov edx, dword [ebp - 0x1b38]
mov al, byte [edx]
mov byte [ebp - 0x1a99], al
add dword [ebp - 0x1b38], 1
cmp byte [ebp - 0x1a99], 0
jne 0x1023f554
mov ecx, dword [ebp - 0x1b38]
sub ecx, dword [ebp - 0x21dc]
mov dword [ebp - 0x21e0], ecx
mov edx, dword [ebp - 0x21e0]
mov dword [ebp - 0x21e4], edx
mov eax, dword [ebp - 0x21e4]
mov dword [ebp - 0x21e8], eax
mov ecx, dword [ebp - 0x21e8]
push ecx
push str.arms
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2344], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b2c], str.legs
mov edx, dword [ebp - 0x1b2c]
add edx, 1
mov dword [ebp - 0x21ec], edx
mov eax, dword [ebp - 0x1b2c]
mov cl, byte [eax]
mov byte [ebp - 0x1a9a], cl
add dword [ebp - 0x1b2c], 1
cmp byte [ebp - 0x1a9a], 0
jne 0x1023f5d7
mov edx, dword [ebp - 0x1b2c]
sub edx, dword [ebp - 0x21ec]
mov dword [ebp - 0x21f0], edx
mov eax, dword [ebp - 0x21f0]
mov dword [ebp - 0x21f4], eax
mov ecx, dword [ebp - 0x21f4]
mov dword [ebp - 0x21f8], ecx
mov edx, dword [ebp - 0x21f8]
push edx
push str.legs
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x2348], eax
jmp case.default.0x1023f2a5
mov dword [ebp - 0x1b34], str.legs
mov eax, dword [ebp - 0x1b34]
add eax, 1
mov dword [ebp - 0x21fc], eax
mov ecx, dword [ebp - 0x1b34]
mov dl, byte [ecx]
mov byte [ebp - 0x1a9b], dl
add dword [ebp - 0x1b34], 1
cmp byte [ebp - 0x1a9b], 0
jne 0x1023f657
mov eax, dword [ebp - 0x1b34]
sub eax, dword [ebp - 0x21fc]
mov dword [ebp - 0x2200], eax
mov ecx, dword [ebp - 0x2200]
mov dword [ebp - 0x2204], ecx
mov edx, dword [ebp - 0x2204]
mov dword [ebp - 0x2208], edx
mov eax, dword [ebp - 0x2208]
push eax
push str.legs
lea ecx, [ebp - 0xb8]
call fcn.10066a40
mov dword [ebp - 0x234c], eax
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x2494]
call fcn.1006af10
mov edx, dword [ebp - 0x1ac8]
or edx, 4
mov dword [ebp - 0x1ac8], edx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb8]
call fcn.1004cfa0
lea eax, [ebp - 0x2494]
mov dword [ebp - 0x220c], eax
mov ecx, dword [ebp - 0x220c]
mov dword [ebp - 0x2210], ecx
mov edx, dword [ebp - 0x2210]
mov dword [ebp - 0x2214], edx
mov byte [ebp - 4], 0x17
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x2350], esp
mov ecx, dword [ebp - 0x2214]
push ecx
push 0x104c14c8
push eax
call fcn.10080740
add esp, 0xc
mov edx, dword [ebp - 0x2218]
push edx
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2494]
call fcn.1004cfa0
nop
mov eax, dword [0x108bea7c]
mov dword [ebp - 0x221c], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2354], esp
push str._for
call fcn.1004d0e0
mov ecx, dword [ebp - 0x221c]
push ecx
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
vcvttss2si edx, dword [ebp - 0x1b64]
mov dword [ebp - 0x2220], edx
mov eax, dword [0x108bea80]
mov dword [ebp - 0x2224], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2358], esp
lea edx, [ebp - 0x2220]
push edx
push 0x104c14d8
push ecx
call fcn.1014ce50
add esp, 0xc
mov eax, dword [ebp - 0x2224]
push eax
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov ecx, dword [0x108bea7c]
mov dword [ebp - 0x2228], ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x235c], esp
push str._damage__
call fcn.1004d0e0
mov edx, dword [ebp - 0x2228]
push edx
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov eax, dword [0x108bea80]
mov dword [ebp - 0x222c], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2360], esp
lea edx, [ebp - 0x1c]
push edx
push 0x104c160c
push ecx
call fcn.1014ce50
add esp, 0xc
mov eax, dword [ebp - 0x222c]
push eax
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov ecx, dword [0x108bea7c]
mov dword [ebp - 0x2230], ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2364], esp
push str._health_remaining__n
call fcn.1004d0e0
mov edx, dword [ebp - 0x2230]
push edx
push 0x1078a808
call fcn.101cbd20
add esp, 0x24
mov eax, dword [ebp - 0x1b84]
add eax, 0xe4
mov dword [ebp - 0x2234], eax
mov ecx, dword [ebp - 0x2234]
add ecx, 0x10
mov dword [ebp - 0x2238], ecx
mov edx, dword [ebp - 0x2238]
cmp dword [edx], 0
jne 0x1023f8b6
mov dword [ebp - 0x1d2c], 1
jmp 0x1023f8c0
mov dword [ebp - 0x1d2c], 0
mov al, byte [ebp - 0x1d2c]
mov byte [ebp - 0x1a9c], al
movzx ecx, byte [ebp - 0x1a9c]
test ecx, ecx
je 0x1023f8e6
mov dword [ebp - 0x1cc4], 0
jmp 0x1023fa4b
xor edx, edx
mov byte [ebp - 0x1a9d], dl
mov al, byte [ebp - 0x1a9d]
mov byte [ebp - 0x1a9e], al
mov cl, byte [ebp - 0x1a9e]
mov byte [ebp - 0x1a9f], cl
mov edx, dword [ebp - 0x1b84]
add edx, 0xe4
mov dword [ebp - 0x223c], edx
mov eax, dword [ebp - 0x1b84]
add eax, 0xe4
mov dword [ebp - 0x2240], eax
movzx ecx, byte [ebp - 0x1a9f]
push ecx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x2368], esp
push edx
mov ecx, dword [ebp - 0x223c]
call fcn.10158440
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x236c], esp
push eax
mov ecx, dword [ebp - 0x2240]
call fcn.101584f0
lea ecx, [ebp - 0x80]
push ecx
call fcn.10159a50
add esp, 0x20
mov dword [ebp - 0x2370], eax
mov edx, dword [ebp - 0x1b84]
add edx, 0xe4
mov dword [ebp - 0x2244], edx
lea eax, [ebp - 0x2434]
push eax
mov ecx, dword [ebp - 0x2244]
call fcn.10158440
mov dword [ebp - 0x1cb8], eax
mov ecx, dword [ebp - 0x1cb8]
push ecx
lea ecx, [ebp - 0x80]
call fcn.10158ba0
mov edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x78]
cmp eax, dword [edx + 8]
jne 0x1023f9c4
mov dword [ebp - 0x1cbc], 1
jmp 0x1023f9ce
mov dword [ebp - 0x1cbc], 0
mov cl, byte [ebp - 0x1cbc]
mov byte [ebp - 0x1aa0], cl
movzx edx, byte [ebp - 0x1aa0]
test edx, edx
je 0x1023f9f1
mov dword [ebp - 0x1cc0], 0
jmp 0x1023fa0b
lea ecx, [ebp - 0x80]
call fcn.10158d00
mov dword [ebp - 0x2248], eax
mov eax, dword [ebp - 0x2248]
mov dword [ebp - 0x1cc0], eax
mov ecx, dword [ebp - 0x1cc0]
mov dword [ebp - 0x2250], ecx
push 3
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x2434]
call fcn.1003faf0
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
lea ecx, [ebp - 0x80]
call fcn.10157570
mov edx, dword [ebp - 0x2250]
mov dword [ebp - 0x1cc4], edx
mov eax, dword [ebp - 0x1cc4]
mov dword [ebp - 0x1ad4], eax
cmp dword [ebp - 0x1ad4], 0
je 0x1023fa7d
mov ecx, dword [ebp - 0x1ad4]
cmp dword [ecx + 0xc], 0
je 0x1023fa9e
mov edx, dword [ebp - 0x1ad4]
mov eax, dword [edx + 0x4c]
cmp eax, dword [ebp - 0x1ad0]
je 0x1023fa9e
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
call fcn.1004cfa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
jmp 0x1023fb07
mov ecx, dword [ebp - 0x1ad4]
mov edx, dword [ebp - 0x1a84]
mov dword [ecx + 0x70], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x2254], edx
push 0
push str.dmg_health
mov ecx, dword [ebp + 8]
call dword [ebp - 0x2254]
mov ecx, dword [ebp - 0x1ad4]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 0x1ad4]
mov eax, dword [0x108a1c88]
mov ecx, dword [eax + 0x16c]
mov dword [edx + 0x6c], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
call fcn.1004cfa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1004cfa0
nop
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101906c0
mov esp, ebp
pop ebp
ret 4