Function at 0x100197f0
Capabilities:
Hash data using fnv
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bcb84
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x103ad010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xbc], edi
cmp dword [edi + 0xec], 0
jne 0x10019854
mov eax, dword [0x103d14a0]
mov ecx, dword [0x103d14ac]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x103d14a0]
push eax
call esi
mov dword [edi + 0xec], eax
mov ecx, dword [edi + 0xec]
call fcn.100b7620
mov ecx, dword [0x103d1314]
mov esi, dword [edi + 0xec]
mov dword [edi + 0xf0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x103d1524]
mov dword [ebp - 0xb4], ecx
cmp eax, dword [ecx + 4]
jle 0x100198d2
push 0x103d1524
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d1524], 0xffffffff
jne 0x100198d2
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 0
mov ecx, str.CBaseEntity
call fcn.100b4c70
push 0x103d1524
mov dword [0x103d1520], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1520]
mov ecx, dword [0x103d14a0]
mov eax, dword [esi + eax]
mov esi, 1
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx]
mov dword [ebp - 0x18], esi
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jle 0x1001a2b6
nop dword [eax]
mov ecx, dword [0x103d14a0]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0xa4], esi
test esi, esi
je case.0x1001a005.250
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10019938
mov eax, dword [eax + 0x14]
jmp 0x1001993a
xor eax, eax
push 0x23
mov dword [ebp - 0xac], eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x100199d8
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x100199d8
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x103d14f0]
mov esi, dword [eax + 0x14]
mov ecx, dword [ecx]
mov edi, dword [eax + 8]
mov eax, dword [0x103d1514]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0xa4]
vmovss xmm0, dword [eax + 0x1c]
vaddss xmm0, xmm0, xmm0
vmovss dword [ebp - 0xb0], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
vmovss xmm0, dword [ebp - 0xb0]
push esi
push edi
push str._s___d_
push ecx
vmovss dword [esp], xmm0
push eax
push dword [0x103d14f0]
call dword [ebp - 0xa0]
mov edi, dword [ebp - 0xbc]
add esp, 0x18
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xac]
cmp eax, 0xf7
jg 0x10019ff0
je 0x10019ee4
dec eax
cmp eax, 0xd8
ja case.0x1001a005.250
movzx eax, byte [eax + 0x1001a57c]
jmp dword [eax*4 + 0x1001a558]
mov eax, dword [edi + 0xc0]
lea ecx, [edi + 0xbc]
cmp eax, dword [edi + 0xc4]
je 0x1001a041
mov dword [eax], esi
add dword [edi + 0xc0], 4
jmp case.0x1001a005.250
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d306c]
mov dword [ebp - 0xa0], esi
cmp eax, dword [ecx + 4]
jle 0x10019a8d
push 0x103d306c
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d306c], 0xffffffff
jne 0x10019a8d
mov edx, str.m_bDistributed
mov dword [ebp - 4], 1
mov ecx, str.CCurrencyPack
call fcn.100b4c70
push 0x103d306c
mov dword [0x103d1324], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1324]
cmp byte [eax + esi], 0
jne case.0x1001a005.250
mov eax, dword [edi + 0x68]
lea ecx, [edi + 0x64]
cmp eax, dword [edi + 0x6c]
je 0x10019ab2
mov dword [eax], esi
add dword [edi + 0x68], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa0]
push edx
push eax
call fcn.1001dcf0
jmp case.0x1001a005.250
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d3068]
mov dword [ebp - 0xac], esi
cmp eax, dword [ecx + 4]
jle 0x10019b22
push 0x103d3068
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d3068], 0xffffffff
jne 0x10019b22
mov edx, str.m_bPlacing
mov dword [ebp - 4], 3
mov ecx, str.CBaseObject
call fcn.100b4c70
push 0x103d3068
mov dword [0x103d1528], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1528]
cmp byte [eax + esi], 0
jne case.0x1001a005.250
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 2
je 0x10019b4d
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 3
jne case.0x1001a005.250
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
push ecx
lea ecx, [edi + 0x20]
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10019b76
mov dword [ecx], esi
add dword [eax + 4], 4
jmp 0x10019b85
lea edx, [ebp - 0xac]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d1524]
cmp eax, dword [ecx + 4]
jle 0x10019bdd
push 0x103d1524
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d1524], 0xffffffff
jne 0x10019bdd
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 4
mov ecx, str.CBaseEntity
call fcn.100b4c70
push 0x103d1524
mov dword [0x103d1520], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1520]
xor edx, edx
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [eax + esi]
lea eax, [ebp - 0xc4]
push eax
sete dl
lea ecx, [edi + 0x20]
inc edx
mov dword [ebp - 0xc4], edx
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10019c19
mov dword [ecx], esi
add dword [eax + 4], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xac]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
jmp case.0x1001a005.250
mov eax, dword [0x103d148c]
mov ecx, dword [ebp - 0xa4]
add ecx, 4
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x103d148c]
push eax
call esi
mov ecx, eax
mov dword [ebp - 0xb0], eax
mov edx, 0x811c9dc5
xor esi, esi
lea eax, [ecx + 1]
mov dword [ebp - 0xa0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10019c68
sub ecx, dword [ebp - 0xa0]
je 0x10019cd5
mov edi, dword [ebp - 0xb0]
nop dword [eax]
movsx eax, byte [esi + edi]
mov ecx, edi
xor eax, edx
imul edx, eax, 0x1000193
inc esi
lea eax, [ecx + 1]
mov dword [ebp - 0xa0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10019c98
sub ecx, dword [ebp - 0xa0]
cmp esi, ecx
jb 0x10019c80
mov edi, dword [ebp - 0xbc]
mov eax, edx
mov dword [ebp - 0xa0], edx
cmp eax, 0x5978b32e
ja 0x10019d1e
je 0x10019d2e
cmp eax, 0x1b20e275
je 0x10019d2e
cmp eax, 0x3cb8abb3
je 0x10019d2e
cmp eax, 0x4c849f3c
je 0x10019d2e
cmp edx, 0x7c4a5426
ja 0x10019d6e
je 0x10019d01
cmp edx, 0x43d6266e
ja 0x10019d5c
je 0x10019d01
cmp edx, 0x2eb1674
je 0x10019d01
cmp edx, 0x19acc50e
jne case.0x1001a005.250
mov ecx, dword [edi + 0x50]
cmp ecx, dword [edi + 0x54]
je 0x10019e7b
mov eax, dword [ebp - 0xa4]
mov dword [ecx], eax
add dword [edi + 0x50], 4
jmp case.0x1001a005.250
cmp edx, 0x97113ea7
je 0x10019d2e
cmp edx, 0xa8d619ea
jne 0x10019cd5
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x48]
je 0x10019d47
mov eax, dword [ebp - 0xa4]
mov dword [ecx], eax
add dword [edi + 0x44], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa4]
push edx
push ecx
lea ecx, [edi + 0x40]
call fcn.1001dcf0
jmp case.0x1001a005.250
cmp edx, 0x4d7aa8c1
je 0x10019d01
cmp edx, 0x7bc6dfbc
je 0x10019d01
jmp 0x10019ded
cmp edx, 0xcb7412ac
ja 0x10019dbd
je 0x10019d01
cmp edx, 0x9d08c4c8
ja 0x10019da0
je 0x10019d01
cmp edx, 0x7f11af2d
je 0x10019d01
cmp edx, 0x84ea2fe5
je 0x10019d01
jmp 0x10019df5
cmp edx, 0xa7eab73f
je 0x10019d01
cmp edx, 0xc941ff64
je 0x10019d01
jmp case.0x1001a005.250
cmp edx, 0xe80bc214
ja 0x10019e02
je 0x10019d01
cmp edx, 0xd614ea2e
je 0x10019d01
cmp edx, 0xe1525a25
je 0x10019d01
cmp edx, 0xdd7b05fd
ja 0x10019e1a
je 0x10019e26
cmp edx, 0x688917bf
je 0x10019e26
cmp edx, 0x92bbd4c5
je 0x10019e26
jmp case.0x1001a005.250
cmp edx, 0xee7a29e8
je 0x10019d01
cmp edx, 0xf8573d98
je 0x10019d01
cmp edx, 0xf51a72ab
jne case.0x1001a005.250
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne case.0x1001a005.250
mov ecx, dword [edi + 0xe4]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], eax
cmp ecx, dword [edi + 0xe8]
je 0x10019e63
mov dword [ecx], eax
add dword [edi + 0xe4], 4
jmp case.0x1001a005.250
lea eax, [ebp - 0xa0]
push eax
push ecx
lea ecx, [edi + 0xe0]
call fcn.1001dcf0
jmp case.0x1001a005.250
lea edx, [ebp - 0xa4]
push edx
push ecx
lea ecx, [edi + 0x4c]
call fcn.1001dcf0
jmp case.0x1001a005.250
mov eax, dword [edi + 0x44]
lea ecx, [edi + 0x40]
cmp eax, dword [edi + 0x48]
je 0x1001a041
mov dword [eax], esi
add dword [edi + 0x44], 4
jmp case.0x1001a005.250
mov eax, dword [edi + 0xb4]
lea ecx, [edi + 0xb0]
mov dword [ebp - 0xa0], esi
cmp eax, dword [edi + 0xb8]
je 0x10019ed2
mov dword [eax], esi
add dword [edi + 0xb4], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa0]
push edx
push eax
call fcn.1001dcf0
jmp case.0x1001a005.250
mov dword [ebp - 0xa8], esi
cmp esi, dword [edi + 0xec]
je case.0x1001a005.250
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 2
je 0x10019f12
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 3
jne case.0x1001a005.250
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
push eax
mov ecx, edi
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10019f3a
mov dword [ecx], esi
add dword [eax + 4], 4
jmp 0x10019f49
lea edx, [ebp - 0xa8]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d1524]
cmp eax, dword [ecx + 4]
jle 0x10019fa1
push 0x103d1524
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d1524], 0xffffffff
jne 0x10019fa1
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 2
mov ecx, str.CBaseEntity
call fcn.100b4c70
push 0x103d1524
mov dword [0x103d1520], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1520]
xor ecx, ecx
mov edx, dword [ebp - 0xb8]
cmp edx, dword [eax + esi]
lea eax, [ebp - 0xc0]
push eax
sete cl
inc ecx
mov dword [ebp - 0xc0], ecx
mov ecx, edi
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10019fdc
mov dword [ecx], esi
add dword [eax + 4], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa8]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
jmp case.0x1001a005.250
add eax, 0xffffff07
cmp eax, 0x69
ja case.0x1001a005.250
movzx eax, byte [eax + 0x1001a66c]
jmp dword [eax*4 + 0x1001a658]
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne case.0x1001a005.250
mov eax, dword [edi + 0xcc]
lea ecx, [edi + 0xc8]
cmp eax, dword [edi + 0xd0]
je 0x1001a041
mov dword [eax], esi
add dword [edi + 0xcc], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa4]
push edx
push eax
call fcn.1001dcf0
jmp case.0x1001a005.250
mov eax, dword [edi + 0xd8]
lea ecx, [edi + 0xd4]
cmp eax, dword [edi + 0xdc]
je 0x1001a041
mov dword [eax], esi
add dword [edi + 0xd8], 4
jmp case.0x1001a005.250
mov dword [edi + 0xf4], esi
jmp case.0x1001a005.250
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [ebp - 0xa8], esi
mov eax, dword [eax + 0x20]
call eax
test al, al
jne case.0x1001a005.250
cmp dword [ebp - 0xac], 0xd9
jne 0x1001a1ac
cmp dword [0x103d376c], 0
mov dword [ebp - 0xb0], esi
je 0x1001a1ac
cmp dword [esi + 0x8fc], 1
jne 0x1001a1ac
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d146c]
cmp eax, dword [ecx + 4]
jle 0x1001a121
push 0x103d146c
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d146c], 0xffffffff
jne 0x1001a121
mov edx, str.m_hThrower
mov dword [ebp - 4], 5
mov ecx, str.CBaseGrenade
call fcn.100b4c70
push 0x103d146c
mov dword [0x103d1320], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d14a0]
mov esi, dword [0x103d1320]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xa4]
mov eax, dword [esi + eax]
mov dword [ecx], eax
mov ecx, dword [0x103d14a0]
call edx
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x1001a1a6
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x103d376c]
mov esi, eax
add ecx, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
cmp esi, eax
je 0x1001a180
mov eax, dword [ebp - 0xa0]
cmp eax, dword [0x103d376c]
jne 0x1001a1a6
mov eax, dword [edi + 0x5c]
lea ecx, [edi + 0x58]
cmp eax, dword [edi + 0x60]
je 0x1001a199
mov esi, dword [ebp - 0xa4]
mov dword [eax], esi
add dword [edi + 0x5c], 4
jmp 0x1001a1ac
lea edx, [ebp - 0xb0]
push edx
push eax
call fcn.1001dcf0
mov esi, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
push ecx
lea ecx, [edi + 0x70]
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1001a1d5
mov dword [ecx], esi
add dword [eax + 4], 4
jmp 0x1001a1e4
lea edx, [ebp - 0xa8]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 2
je 0x1001a200
mov ecx, esi
call fcn.100180e0
cmp dword [eax], 3
jne case.0x1001a005.250
mov ecx, dword [ebp - 0xb4]
mov eax, dword [0x103d1524]
cmp eax, dword [ecx + 4]
jle 0x1001a258
push 0x103d1524
call fcn.100bb3bb
add esp, 4
cmp dword [0x103d1524], 0xffffffff
jne 0x1001a258
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 6
mov ecx, str.CBaseEntity
call fcn.100b4c70
push 0x103d1524
mov dword [0x103d1520], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100bb371
add esp, 4
mov eax, dword [0x103d1520]
xor edx, edx
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [eax + esi]
lea eax, [ebp - 0x14]
push eax
sete dl
lea ecx, [edi + 0x70]
inc edx
mov dword [ebp - 0x14], edx
call fcn.1001b290
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1001a28b
mov dword [ecx], esi
add dword [eax + 4], 4
jmp case.0x1001a005.250
lea edx, [ebp - 0xa8]
push edx
push ecx
mov ecx, eax
call fcn.1001dcf0
mov ecx, dword [0x103d14a0]
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jl 0x10019900
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
mov ecx, 0x103d3680
call fcn.1001b290
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
mov dword [ebp - 0xa8], ecx
cmp ecx, dword [0x103d1530]
jne 0x1001a2ee
cmp byte [edi + 0x20c], 0
je 0x1001a530
mov ecx, dword [edi + 0x204]
lea eax, [edi + 0x204]
mov byte [edi + 0x20c], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov esi, dword [ecx + 4]
cmp byte [esi + 0xd], 0
jne 0x1001a33e
mov edi, eax
push dword [esi + 8]
mov ecx, edi
push edi
call fcn.1001cd90
mov eax, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100bb7e0
add esp, 8
cmp byte [esi + 0xd], 0
je 0x1001a312
mov edi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [ecx + 8], ecx
mov ecx, 0x103d3680
mov dword [eax + 4], 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], 0
call fcn.1001b290
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc0], eax
cmp ecx, eax
je 0x1001a52a
nop dword [eax + eax]
mov ecx, dword [ecx]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0xb4]
mov esi, eax
push dword [ecx]
call fcn.1001a6e0
mov byte [edi + esi + 0x104], al
lea eax, [ebp - 0x9c]
mov ecx, dword [0x103d14ac]
push eax
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x1001a50f
push 7
vpxor xmm0, xmm0, xmm0
push str.ignored
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xd0], 0
vmovdqu xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
call fcn.10019730
lea eax, [ebp - 0xe0]
mov dword [ebp - 4], 7
push eax
push dword [ebp - 0x54]
mov ecx, 0x103d3608
call fcn.10019250
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcc]
mov byte [edi + esi + 0x184], al
cmp ecx, 0x10
jb 0x1001a454
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001a44a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001a551
push ecx
push edx
call fcn.100bb7e0
add esp, 8
mov edx, dword [ebp - 0x54]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x14], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x103d3608
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1001c9e0
mov edx, dword [0x103d360c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103d360c]
je 0x1001a50f
mov eax, dword [edx + 0xc]
mov ecx, 0x103d3654
mov dword [ebp - 0x18], 0
mov eax, dword [eax]
add eax, 0x10
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1001c680
mov esi, dword [ebp - 0x18]
cmp esi, dword [0x103d3658]
je 0x1001a50f
mov esi, dword [esi + 0x20]
test esi, esi
je 0x1001a50f
push dword [ebp - 0xb4]
lea ecx, [edi + 0x204]
call fcn.1001b130
push esi
mov dword [eax], esi
lea eax, [ebp - 0x9c]
push eax
call fcn.1001a890
mov ecx, dword [ebp - 0xb4]
add ecx, 4
mov dword [ebp - 0xb4], ecx
cmp ecx, dword [ebp - 0xc0]
jne 0x1001a380
mov ecx, dword [ebp - 0xa8]
mov dword [0x103d1530], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100bb27a
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
sub eax, 0x2f10019c
lcall 4097, 0xa00c1001
or dword [edx - 0x653befff], ebx
add dword [eax], edx
nop
sahf
add dword [eax], edx
and byte [eax - 0x6155efff], 1
adc byte [edx + 1048994], bl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [ecx], al
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
add cl, byte [eax]
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [ebx], al
or byte [eax], cl
or byte [edx], al
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
add cl, byte [eax]
or byte [eax], cl
add al, 8
add al, 4
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [134742534], al
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
add eax, 134742534
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
pop es
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
push es
nop dword [eax]
jne 0x1001a5fa
add dword [eax], edx
and byte [eax - 0x5facefff], 1
adc byte [eax], cl
add dword [eax], edx
lcall 0x404, 0x1001a2
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx + eax], eax
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add al, 4
add al, byte [esp + eax]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add ecx, esp
int3