Function at 0x10026780
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10096486
push eax
mov dword fs:[0], esp
sub esp, 0xc8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c0e8c]
push esi
push edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c6d8c]
cmp eax, dword [ecx + 4]
jle 0x100267ec
push 0x100c6d8c
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6d8c], 0xffffffff
jne 0x100267ec
mov eax, dword [0x100c543c]
push 0x100c6d8c
mov eax, dword [eax + 0x58]
mov dword [0x100c6e5c], eax
call fcn.1006ccc4
add esp, 4
push dword [ebp + 0x10]
movss xmm0, dword [ebp + 0xc]
xor edx, edx
mov edi, dword [ebp + 8]
push ecx
mov ecx, dword [0x100c1d88]
movss dword [esp], xmm0
push edi
call dword [0x100c6e5c]
mov ecx, dword [0x100c1df8]
push edi
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x100c1df8]
mov dword [ebp + 8], eax
mov eax, 0x1b4e81b5
imul edi
mov esi, dword [ecx + 0xf4]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul eax, ecx, 0x96
sub edi, eax
imul eax, edi, 0x68
mov edi, dword [ebp + 8]
add eax, esi
mov dword [ebp - 0x58], eax
test edi, edi
je 0x10027a45
cmp dword [edi + 4], 0
je 0x10027a45
mov ecx, dword fs:[0x2c]
mov edx, dword [0x100c0e8c]
mov eax, dword [edi + 0x14]
movq xmm0, qword [edi + 0xc]
mov dword [ebp - 0x40], eax
mov esi, dword [ecx + edx*4]
mov eax, dword [0x100c6e8c]
movq qword [ebp - 0x48], xmm0
cmp eax, dword [esi + 4]
jle 0x10026907
push 0x100c6e8c
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e8c], 0xffffffff
jne 0x10026907
push 0x28
mov dword [0x100c6e44], 0
mov dword [0x100c6e48], 0
mov dword [0x100c6e4c], 0
mov dword [0x100c6e50], 0
mov dword [0x100c6e54], 0
call fcn.1006cd79
push 0x10097e70
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x100c6e50], eax
call fcn.1006d0ae
push 0x100c6e8c
call fcn.1006ccc4
add esp, 0xc
push edi
mov ecx, 0x100c6e44
call fcn.10004310
call fcn.10022b90
cmp byte [eax + 0x3f8], 0
je 0x10026924
and dword [edi + 0x30], 0xfffffffe
cmp byte [0x100c4fef], 0
je 0x10026934
mov ecx, edi
call fcn.1000a120
mov ecx, edi
call fcn.1000a1f0
mov ecx, edi
call fcn.1000ae50
mov al, byte [0x100c52a8]
mov byte [0x100c53dc], al
test al, al
je 0x10026a5b
movss xmm3, dword [0x100c53ec]
xorps xmm1, xmm1
ucomiss xmm3, dword [0x100a9d90]
movss xmm2, dword [0x100c1d18]
lahf
test ah, 0x44
jp 0x100269c6
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100269c6
movss xmm0, dword [0x100c1d1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100269c6
movss xmm0, dword [0x100c1d20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100269c6
movss xmm2, dword [edi + 0xc]
movss dword [0x100c1d18], xmm2
movss xmm0, dword [edi + 0x10]
movss dword [0x100c1d1c], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x100c1d20], xmm0
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100269f1
movss xmm0, dword [0x100c1d1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100269f1
movss xmm0, dword [0x100c1d20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10026a30
movq xmm0, qword [edi + 0xc]
sub esp, 0xc
mov eax, dword [edi + 0x14]
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [0x100c1d18]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [0x100c1d20]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, edi
call fcn.10023200
movss xmm3, dword [0x100c53ec]
add esp, 0x18
ucomiss xmm3, dword [0x100a9d90]
lahf
test ah, 0x44
jnp 0x10026a5b
mov dword [0x100c1d18], 0
mov dword [0x100c1d1c], 0
mov dword [0x100c1d20], 0
mov ecx, dword [0x100c4f8c]
mov ecx, dword [ecx]
call fcn.10009e00
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
call fcn.10009f80
sub esp, 8
movss xmm0, dword [eax + 8]
movss dword [ebp + 0x10], xmm0
fld dword [ebp + 0x10]
fstp qword [esp]
call fcn.100928c0
mov eax, dword [0x100c6e68]
add esp, 8
fstp dword [ebp + 0x10]
cmp eax, dword [esi + 4]
jle 0x10026af0
push 0x100c6e68
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e68], 0xffffffff
jne 0x10026af0
push 0xc4
mov dword [ebp - 4], 0
call fcn.1006cd79
add esp, 4
mov dword [ebp + 0xc], eax
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.10023850
push 0x100c6e68
mov dword [0x100c6e88], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
call fcn.10009e00
mov ecx, dword [0x100c6e88]
push edi
mov eax, dword [eax]
mov dword [ebp + 0xc], eax
call fcn.10023960
mov ecx, dword [0x100c4f8c]
mov ecx, dword [ecx]
call fcn.10009e00
push edi
call fcn.10007a20
call fcn.10028bf0
movss xmm1, dword [ebp + 0x10]
push ecx
call fcn.1001c6f0
push dword [0x100c5090]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x10026b62
cmp byte [0x100c52a9], al
jne 0x10026b62
mov ecx, dword [0x100c197c]
push str.sv_min_jump_landing_sound
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100a7348
jmp 0x10026b79
mov ecx, dword [0x100c197c]
push str.sv_min_jump_landing_sound
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push str.63464578
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [0x100c4f8c]
mov ecx, dword [ecx]
call fcn.10009e00
mov ecx, edi
call fcn.1000bbf0
mov esi, dword [ebp - 0x58]
mov ecx, esi
push edi
call fcn.10027ac0
mov ecx, edi
call fcn.100248e0
mov ecx, dword [0x100c4ea8]
mov dword [esi + 0x64], eax
mov esi, dword [0x100c6e88]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [0x100c4f8c]
push dword [eax]
call edx
mov ecx, dword [0x100c4ea4]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 0xc0]
mov ecx, dword [0x100c196c]
mov dword [eax], 0xffffffff
mov eax, dword [esi]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0x14], eax
mov ecx, dword [0x100c4f8c]
mov ecx, dword [ecx]
call fcn.10009e00
cmp byte [0x100c5072], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x10026cb0
push dword [0x100c5078]
call esi
test ax, ax
je 0x10026cb0
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10026cb0
call fcn.10008a60
cmp dword [eax], 0
jne 0x10026cb0
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x10026cb0
cmp eax, 8
je 0x10026cb0
test byte [ebp + 0xc], 1
je 0x10026c7e
call fcn.10009e00
test byte [eax], 1
jne 0x10026c7e
mov edx, dword [0x100c196c]
or dword [edi + 0x30], 2
mov byte [0x100c1a19], 1
mov ecx, dword [edx + 0x1c]
add ecx, 2
mov dword [0x100c1a08], ecx
jmp 0x10026c93
cmp byte [0x100c1a19], 0
je 0x10026cb0
mov edx, dword [0x100c196c]
mov ecx, dword [0x100c1a08]
cmp dword [edx + 0x1c], ecx
jge 0x10026ca7
mov eax, dword [edi + 0x30]
or eax, 4
and eax, 0xffffffe7
mov dword [edi + 0x30], eax
cmp dword [edx + 0x1c], ecx
jle 0x10026cb0
mov byte [0x100c1a19], 0
cmp byte [0x100c52c9], 0
je 0x10026d17
push dword [0x100c52ac]
call esi
test ax, ax
je 0x10026d17
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10026d17
call fcn.10008a60
cmp dword [eax], 0
jne 0x10026d17
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x10026d17
cmp eax, 8
je 0x10026d17
test byte [0x100c540c], 1
mov byte [0x100c19fd], 0
je 0x10026d17
call fcn.10009e00
test byte [eax], 1
jne 0x10026d17
or dword [edi + 0x30], 6
mov byte [0x100c19fd], 1
push dword [0x100c5098]
call esi
test ax, ax
je 0x10026d61
cmp byte [0x100c5094], 0
je 0x10026d61
test byte [0x100c540c], 1
mov byte [0x100c1a05], 0
jne 0x10026d61
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
call fcn.10009e00
test byte [eax], 1
je 0x10026d61
mov eax, dword [edi + 0x30]
or eax, 4
mov byte [0x100c1a05], 1
and eax, 0xfffffffd
mov dword [edi + 0x30], eax
cmp byte [0x100c508e], 0
je 0x10026d74
lea edx, [ebp - 0x48]
mov ecx, edi
call fcn.1000a5e0
mov ecx, edi
call fcn.1000b9e0
cmp byte [0x100c5035], 0
je 0x10026da5
test dword [edi + 0x30], 0x10000
je 0x10026da5
mov ecx, dword [0x100c1d88]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0x32
mov eax, dword [eax + 0x98]
call eax
cmp byte [0x100c50a0], 0
je 0x10026f2f
mov eax, dword [0x100c4f8c]
mov ecx, dword [0x100c0e8c]
mov esi, dword [eax]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c4f20]
cmp eax, dword [ecx + 4]
jle 0x10026f0e
push 0x100c4f20
call fcn.1006cd15
add esp, 4
cmp dword [0x100c4f20], 0xffffffff
jne 0x10026f0e
mov dword [ebp - 4], 2
call fcn.10005720
mov cx, word [0x100a7280]
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
mov edx, eax
mov al, byte [0x100a7282]
movq xmm0, qword [str.m_bIsScoped]
mov dword [ebp - 0x14], 0xb
mov dword [ebp - 0x10], 0xf
movq qword [ebp - 0x24], xmm0
mov word [ebp - 0x1c], cx
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x19], 0
mov ax, word [0x100a11b0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x34], ax
movq xmm0, qword [str.DT_CSPlayer]
mov al, byte [0x100a11b2]
mov dword [ebp - 0x2c], 0xb
mov dword [ebp - 0x28], 0xf
movq qword [ebp - 0x3c], xmm0
mov byte [ebp - 0x32], al
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x3c]
mov ecx, edx
push eax
call fcn.1006b4b0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x28]
mov dword [0x100c4f24], eax
cmp ecx, 0xf
jbe 0x10026ec2
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10026eb8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a73
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xf
jbe 0x10026efa
mov edx, dword [ebp - 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10026ef0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a73
push ecx
push edx
call fcn.1006d0c3
add esp, 8
push 0x100c4f20
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov eax, dword [0x100c4f24]
cmp byte [eax + esi], 0
jne 0x10026f2f
mov ecx, dword [0x100c197c]
push str.weapon_debug_spread_show
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 3
jmp 0x10026f43
mov ecx, dword [0x100c197c]
push str.weapon_debug_spread_show
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [0x100c508d], 0
mov ecx, dword [0x100c197c]
push str.cl_showpos
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
je 0x10026f6a
call eax
push 1
jmp 0x10026f6e
call eax
push 0
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [0x100c508c], 0
mov ecx, dword [0x100c197c]
push str.r_drawviewmodel
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
je 0x10026f95
call eax
push 0
jmp 0x10026f99
call eax
push 1
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c0e8c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100c6e20]
cmp eax, dword [esi + 4]
jle 0x10027005
push 0x100c6e20
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e20], 0xffffffff
jne 0x10027005
mov dword [ebp - 4], 5
mov ecx, dword [0x100c197c]
push str.fog_enable
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6e20
mov dword [0x100c6e80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c6e80]
add ecx, 0x18
mov eax, dword [ecx]
mov edx, dword [eax + 4]
movzx eax, byte [0x100c4ff8]
push eax
call edx
mov eax, dword [0x100c6e00]
cmp eax, dword [esi + 4]
jle 0x10027072
push 0x100c6e00
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e00], 0xffffffff
jne 0x10027072
mov dword [ebp - 4], 6
mov ecx, dword [0x100c197c]
push str.fog_override
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6e00
mov dword [0x100c6dec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c6dec]
add ecx, 0x18
mov eax, dword [ecx]
mov edx, dword [eax + 4]
movzx eax, byte [0x100c4ff8]
push eax
call edx
mov eax, dword [0x100c6e0c]
cmp eax, dword [esi + 4]
jle 0x100270df
push 0x100c6e0c
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e0c], 0xffffffff
jne 0x100270df
mov dword [ebp - 4], 7
mov ecx, dword [0x100c197c]
push str.fog_color
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6e0c
mov dword [0x100c6e1c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov eax, dword [0x100c6e1c]
lea ecx, [ebp - 0xa4]
mov edx, dword [0x100c5010]
add eax, 0x18
mov dword [ebp + 0xc], eax
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x5c], eax
call fcn.10020960
mov dword [ebp - 4], 8
lea ecx, [ebp - 0xd4]
mov edx, dword [0x100c500c]
call fcn.10020960
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x3c]
mov edx, dword [0x100c5008]
call fcn.10020960
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
mov eax, esi
mov edx, dword [ebp - 0x2c]
sub eax, edx
cmp eax, 1
jb 0x10027162
cmp esi, 0xf
lea eax, [edx + 1]
mov dword [ebp - 0x2c], eax
cmova ecx, dword [ebp - 0x3c]
mov al, byte [0x100a6f08]
mov byte [ecx + edx], al
lea eax, [ebp - 0x3c]
mov byte [ecx + edx + 1], 0
jmp 0x10027177
push 1
push 0x100a6f08
mov byte [ebp + 0x10], 0
push dword [ebp + 0x10]
push 1
call fcn.10021b80
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xbc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xac], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xbc]
push eax
push dword [ebp + 0x10]
lea ecx, [ebp - 0x54]
call fcn.100223c0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x54]
mov esi, dword [ebp - 0x40]
mov eax, esi
mov edx, dword [ebp - 0x44]
sub eax, edx
cmp eax, 1
jb 0x100271f1
cmp esi, 0xf
lea eax, [edx + 1]
mov dword [ebp - 0x44], eax
cmova ecx, dword [ebp - 0x54]
mov al, byte [0x100a6f08]
mov byte [edx + ecx], al
lea eax, [ebp - 0x54]
mov byte [edx + ecx + 1], 0
jmp 0x10027206
push 1
push 0x100a6f08
mov byte [ebp + 0x10], 0
push dword [ebp + 0x10]
push 1
call fcn.10021b80
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
lea ecx, [ebp - 0x74]
call fcn.100223c0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x74]
cmp dword [ebp - 0x60], 0xf
mov ecx, dword [ebp + 0xc]
cmova eax, dword [ebp - 0x74]
push eax
call dword [ebp - 0x5c]
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xf
jbe 0x10027290
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027286
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp ecx, 0xf
jbe 0x100272da
mov edx, dword [ebp - 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100272d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xf
jbe 0x10027312
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027308
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
cmp ecx, 0xf
jbe 0x10027362
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027358
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x1002739a
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027390
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp ecx, 0xf
jbe 0x100273ea
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100273e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x1002742b
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027421
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a78
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c0e8c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100c6de4]
cmp eax, dword [esi + 4]
jle 0x1002748f
push 0x100c6de4
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6de4], 0xffffffff
jne 0x1002748f
mov dword [ebp - 4], 0xf
mov ecx, dword [0x100c197c]
push str.fog_start
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6de4
mov dword [0x100c6e58], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c6e58]
movss xmm0, dword [0x100c4ffc]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [0x100c6e24]
cmp eax, dword [esi + 4]
jle 0x10027500
push 0x100c6e24
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e24], 0xffffffff
jne 0x10027500
mov dword [ebp - 4], 0x10
mov ecx, dword [0x100c197c]
push str.fog_end
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6e24
mov dword [0x100c6e64], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c6e64]
movss xmm0, dword [0x100c5000]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [0x100c6db0]
cmp eax, dword [esi + 4]
jle 0x10027571
push 0x100c6db0
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6db0], 0xffffffff
jne 0x10027571
mov dword [ebp - 4], 0x11
mov ecx, dword [0x100c197c]
push str.fog_maxdensity
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x100c6db0
mov dword [0x100c6e14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c6e14]
movss xmm0, dword [0x100c5004]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 8]
cmp byte [0x100c534e], 0
je 0x10027a30
mov eax, dword [0x100c4f8c]
cmp dword [eax], 0
je 0x10027a57
mov eax, dword [0x100c196c]
movss xmm0, dword [eax]
subss xmm0, dword [0x100c4f0c]
comiss xmm0, dword [0x100a9b6c]
jb 0x10027a30
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c0e8c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c6e30]
cmp eax, dword [ecx + 4]
jle 0x10027634
push 0x100c6e30
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6e30], 0xffffffff
jne 0x10027634
xorps xmm0, xmm0
mov dword [0x100c6da8], 0
movups xmmword [0x100c6d98], xmm0
push 0x10097de0
mov dword [0x100c6dac], 0xf
mov byte [0x100c6d98], 0
call fcn.1006d0ae
push 0x100c6e30
call fcn.1006ccc4
add esp, 8
mov eax, dword [0x100c4f8c]
mov ecx, dword [eax]
call fcn.10009f80
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
movss xmm1, dword [ebp - 0x48]
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.100065e0
movss dword [ebp + 0x10], xmm0
fld dword [ebp + 0x10]
push ecx
fstp dword [esp]
call fcn.100929bd
fstp dword [ebp + 0x10]
cvttss2si edx, dword [ebp + 0x10]
add esp, 4
lea ecx, [ebp - 0xa4]
call fcn.10020960
mov dword [ebp - 4], 0x12
mov edi, 0xf
mov eax, dword [0x100c196c]
movss xmm0, dword [eax]
movss dword [0x100c4f0c], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], edi
mov byte [ebp - 0x24], 0
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], edi
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 0x14
mov ecx, 0xe
movss xmm0, dword [eax + 0x10]
mov esi, edi
mulss xmm0, dword [0x100a9c5c]
cvttss2si eax, xmm0
cdq
idiv ecx
mov ecx, Ordinal_2
cmp edx, 7
ja case.default.0x10027702
jmp dword [edx*4 + 0x10027a88]
push 9
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 9
push str.________m
push esi
call fcn.1006ecb0
mov byte [esi + 9], 0
jmp 0x100277cc
push 9
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 9
push str._______m_
push esi
call fcn.1006ecb0
mov byte [esi + 9], 0
jmp 0x100277cc
push 0xa
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 0xa
push str.________mi
push esi
call fcn.1006ecb0
mov byte [esi + 0xa], 0
jmp 0x100277cc
push 0xa
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 0xa
push str._______mi_
push esi
call fcn.1006ecb0
mov byte [esi + 0xa], 0
jmp 0x100277cc
push 0xd
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 0xd
push str.________stery
push esi
call fcn.1006ecb0
mov byte [esi + 0xd], 0
jmp 0x100277cc
push 0x10
push str.________mistery_
lea ecx, [ebp - 0x24]
call fcn.100105d0
jmp 0x100277d4
push 0xe
push str._______mistery
lea esi, [ebp - 0x24]
mov dword [ebp - 0x14], 0xe
push esi
call fcn.1006ecb0
mov byte [esi + 0xe], 0
add esp, 0xc
mov esi, 0xf
mov ecx, Ordinal_2
mov eax, dword [0x100c5354]
dec eax
cmp eax, 4
ja case.default.0x100277e8
jmp dword [eax*4 + 0x10027aa8]
mov eax, dword [0x100c6dac]
mov dword [ebp + 0x10], eax
cmp eax, 7
jae 0x1002786d
mov edx, eax
shr edx, 1
sub ecx, edx
cmp eax, ecx
jbe 0x10027815
mov ecx, Ordinal_2
mov esi, Ordinal_2
add ecx, 0x23
jmp 0x10027841
add eax, edx
cmp eax, 0xf
cmova esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x1002782b
xor edi, edi
jmp 0x100278ed
cmp eax, 0x1000
jb 0x100278e2
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10027a7d
push ecx
call fcn.1006cd79
add esp, 4
test eax, eax
je 0x10027a82
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x100278ed
mov eax, dword [0x100c6dac]
mov dword [ebp + 0x10], eax
cmp eax, 7
jb 0x1002789f
cmp eax, 0xf
mov dword [0x100c6da8], 7
push 7
mov esi, 0x100c6d98
cmova esi, dword [0x100c6d98]
push str.mistery
push esi
call fcn.1006ecb0
add esp, 0xc
mov byte [esi + 7], 0
jmp case.default.0x100277e8
mov edx, eax
shr edx, 1
sub ecx, edx
cmp eax, ecx
jbe 0x100278b8
mov ecx, Ordinal_2
mov esi, Ordinal_2
add ecx, 0x23
jmp 0x10027841
add eax, edx
cmp eax, 0xf
cmova esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x100278cb
xor edi, edi
jmp 0x100278ed
cmp eax, 0x1000
jb 0x100278e2
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10027a7d
jmp 0x10027841
push eax
call fcn.1006cd79
add esp, 4
mov edi, eax
mov ecx, dword [str.mistery]
mov dword [0x100c6da8], 7
mov dword [0x100c6dac], esi
mov dword [edi], ecx
mov cx, word [0x100a7438]
mov word [edi + 4], cx
mov al, byte [0x100a743a]
mov byte [edi + 6], al
mov eax, dword [ebp + 0x10]
mov byte [edi + 7], 0
cmp eax, 0xf
jbe 0x10027955
mov edx, dword [0x100c6d98]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002794b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a82
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov dword [0x100c6d98], edi
cmp dword [0x100c6dac], 0xf
mov ecx, 0x100c6d98
cmova ecx, dword [0x100c6d98]
call fcn.10023ed0
mov ecx, dword [ebp - 0x78]
mov byte [0x100c4f18], 1
cmp ecx, 0xf
jbe 0x100279b1
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100279a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a82
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xf
jbe 0x100279e5
mov edx, dword [ebp - 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100279db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a82
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
cmp ecx, 0xf
jbe 0x10027a2d
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027a23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027a82
push ecx
push edx
call fcn.1006d0c3
add esp, 8
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x58]
mov ecx, esi
push edi
call fcn.10027ac0
mov ecx, edi
call fcn.100248e0
mov dword [esi + 0x64], eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x10
cmp byte [0x100c4f18], 0
je 0x10027a30
mov ecx, 0x100a68d3
mov byte [0x100c4f18], 0
call fcn.10023ed0
jmp 0x10027a30
call fcn.10072452
call fcn.10072452
call fcn.100030f0
call fcn.10072452
nop
mov cl, 0x77
add dl, byte [eax]
or dword [edi + 2], esi
adc byte [ecx], ch
ja 0x10027a95
adc byte [ecx + 0x77], cl
add dl, byte [eax]
ja 0x10027a9d
ja 0x10027a99
adc byte [esi + 0x77], ah
add dl, byte [eax]
xor dword [edi + 2], 0x10
mov al, byte [2970616439]
ja 0x10027a9d
adc byte [ebx - 0x5feffd89], al
ja 0x10027aa1
adc byte [eax - 0x4eeffd89], ah
ja 0x10027aa5
adc byte [ecx - 0x10effd89], dh
ja 0x10027aa9
adc bh, ch
ja 0x10027aad
adc bh, ch
ja 0x10027ab1
adc bh, ch
ja 0x10027ab5
adc bh, ch
ja 0x10027ab9
adc byte [eax + 0x78], ah
add dl, byte [eax]
int3
js 0x10027abd
adc ah, cl
int3