Function at 0x10049974
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x48
push esi
push edi
push str.RenderWeps__
call fcn.1005070a
xor esi, esi
push esi
push 0xffffffffffffffff
call fcn.1002a80b
mov ecx, dword [0x1015448c]
add esp, 0xc
mov edi, eax
cmp dword [ecx + 0x5e8c0], esi
jne 0x10049d7e
test edi, edi
je 0x10049d7e
mov ecx, dword [0x101d5644]
mov ecx, dword [ecx + 0x3de]
cmp dword [ecx + 0x14], esi
je 0x10049d7e
push 9
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x100499da
cmp dword [0x101b8eaf], esi
jne 0x10049d7e
mov eax, dword [0x101d565c]
cmp dword [eax], esi
jne 0x10049d7e
push ebx
push ebp
mov ebx, 0x141
mov ebp, 0x1007b414
mov eax, dword [0x101d5644]
mov eax, dword [eax + 0x3de]
mov eax, dword [eax + 0x14]
cmp dword [eax + esi*4 + 4], 1
jne 0x10049d6f
mov eax, dword [eax + esi*4 + 0x20d4]
test eax, eax
je 0x10049d6f
mov eax, dword [eax + 0x40]
test eax, eax
je 0x10049d6f
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x14]
push ecx
add eax, 0x30
push eax
call fcn.1003fcdf
lea eax, [esp + 0x1c]
push eax
call fcn.1003fdd5
add esp, 0xc
test eax, eax
jne 0x10049d6f
mov eax, dword [edi + 0x14]
add eax, 0x30
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1003fcef
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [0x101d007b]
pop ecx
pop ecx
ja 0x10049d6f
mov eax, dword [0x101d5644]
mov eax, dword [eax + 0x3de]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + esi*4 + 0x20d4]
mov eax, dword [eax + 0x40]
mov ax, word [eax + 0x22]
sub ax, bx
cmp ax, 0x34
ja 0x10049d6f
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x2c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x18]
push eax
movss dword [esp + 0x28], xmm0
lea eax, [esp + 0x24]
movss xmm0, dword [esp + 0x20]
push eax
movss dword [esp + 0x30], xmm0
call fcn.100437a2
movss xmm0, dword [0x1007c140]
comiss xmm0, dword [esp + 0x3c]
pop ecx
pop ecx
ja 0x10049d6f
mov eax, dword [0x101d5644]
mov ebx, 0x174
mov ecx, str.Tec_9
mov edx, ebp
mov eax, dword [eax + 0x3de]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + esi*4 + 0x20d4]
mov eax, dword [eax + 0x40]
movzx eax, word [eax + 0x22]
cmp ax, bx
cmove edx, ecx
lea ecx, [ebx - 1]
cmp ax, cx
jne 0x10049b27
mov edx, str.Parachute
jmp 0x10049eaa
mov ecx, 0x171
cmp ax, cx
jne 0x10049b4a
mov edx, str.IRgoogles
mov ecx, 0x152
cmp ax, cx
jne 0x10049b59
mov ecx, str.Billard_Stik
jmp 0x10049cfd
mov ecx, 0x170
cmp ax, cx
jne 0x10049b6d
mov edx, str.NVgoogles
mov ecx, 0x151
cmp ax, cx
jne 0x10049b7c
mov ecx, str.Shovel
jmp 0x10049cfd
mov ecx, 0x16f
cmp ax, cx
jne 0x10049b90
mov edx, str.Camera
mov ecx, 0x150
cmp ax, cx
jne 0x10049b9f
mov ecx, 0x1008c6fc
jmp 0x10049cfd
mov ecx, 0x16e
cmp ax, cx
jne 0x10049bb3
mov edx, str.Fire_Ex
mov ecx, 0x14f
cmp ax, cx
jne 0x10049bc2
mov ecx, str.Knife
jmp 0x10049cfd
mov ecx, 0x16d
cmp ax, cx
jne 0x10049bd6
mov edx, str.Spray_Can
mov ecx, 0x14e
cmp ax, cx
jne 0x10049be5
mov ecx, str.Baton
jmp 0x10049cfd
mov ecx, 0x16c
cmp ax, cx
jne 0x10049bf9
mov edx, str.Bomb
mov ecx, 0x14d
cmp ax, cx
jne 0x10049c08
mov ecx, str.Golf_Club
jmp 0x10049cfd
mov ecx, 0x16b
cmp ax, cx
jne 0x10049c19
mov edx, str.R_explosives
mov ecx, 0x14c
cmp ax, cx
jne 0x10049c28
mov ecx, ebp
jmp 0x10049cfd
mov ecx, 0x16a
cmp ax, cx
jne 0x10049c3c
mov edx, str.Minigun
mov ecx, 0x14b
cmp ax, cx
jne 0x10049c4b
mov ecx, str.Brass_Knuckle
jmp 0x10049cfd
mov ecx, 0x169
cmp ax, cx
jne 0x10049c5f
mov edx, str.Flame
mov ecx, 0x14a
cmp ax, cx
jne 0x10049c6e
mov ecx, str.Phone
jmp 0x10049cfd
mov ecx, 0x168
cmp ax, cx
jne 0x10049c7f
mov edx, str.Heatseek
mov ecx, 0x146
cmp ax, cx
jne 0x10049c8e
mov ecx, str.Cane
jmp 0x10049cfd
mov ecx, 0x167
cmp ax, cx
jne 0x10049c9f
mov edx, 0x1008c650
mov ecx, 0x145
cmp ax, cx
jne 0x10049cae
mov ecx, str.Flower
jmp 0x10049cfd
mov ecx, 0x166
cmp ax, cx
jne 0x10049cbf
mov edx, str.Sniper_Rifle
mov ecx, 0x144
cmp ax, cx
jne 0x10049cce
mov ecx, str.Dildo4
jmp 0x10049cfd
mov ecx, 0x165
cmp ax, cx
jne 0x10049cdf
mov edx, str.Cuntgun
mov ecx, 0x143
cmp ax, cx
jne 0x10049cee
mov ecx, str.Dildo3
jmp 0x10049cfd
mov ecx, 0x164
cmp ax, cx
jne 0x10049d04
mov edx, str.M4_Rifle
mov ecx, 0x142
cmp ax, cx
jne 0x10049d13
mov ecx, str.Dildo2
mov ebx, 0x141
jmp 0x10049d23
mov ecx, 0x163
cmp ax, cx
jne 0x10049d84
mov edx, str.AK_47
mov ebx, 0x141
mov ecx, str.Purple_Dildo
cmp ax, bx
cmovne ecx, edx
push ecx
push esi
push str.obj:__d__wepName:__s
lea eax, [esp + 0x44]
push 0x1f
push eax
call fcn.100435e3
movss xmm0, dword [esp + 0x44]
lea eax, [esp + 0x4c]
subss xmm0, dword [0x100819d8]
add esp, 0x14
push eax
push 0xffff56aa
push ecx
push ecx
mov ecx, dword [0x101dd3e4]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
call fcn.10043103
inc esi
cmp esi, 0x834
jl 0x100499f3
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x48
ret
mov ecx, 0x162
cmp ax, cx
jne 0x10049d98
mov ecx, str.Flare
jmp 0x10049cfd
mov ecx, 0x161
cmp ax, cx
jne 0x10049dac
mov ecx, str.MP_5
jmp 0x10049cfd
mov ecx, 0x160
cmp ax, cx
jne 0x10049dc0
mov ecx, str.Micro_Uzi
jmp 0x10049cfd
mov ecx, 0x15f
cmp ax, cx
jne 0x10049dd4
mov ecx, str.SPAS_12
jmp 0x10049cfd
mov ecx, 0x15e
cmp ax, cx
jne 0x10049de8
mov ecx, str.Sawn_Off
jmp 0x10049cfd
mov ecx, 0x15d
cmp ax, cx
jne 0x10049dfc
mov ecx, str.Shotgun
jmp 0x10049cfd
mov ecx, 0x15c
cmp ax, cx
jne 0x10049e10
mov ecx, str.Deagle
jmp 0x10049cfd
mov ecx, 0x15b
cmp ax, cx
jne 0x10049e24
mov ecx, str.Silenced
jmp 0x10049cfd
mov ecx, 0x15a
cmp ax, cx
jne 0x10049e38
mov ecx, str.Colt_45
jmp 0x10049cfd
mov ecx, 0x159
cmp ax, cx
jne 0x10049e4c
mov ecx, str.Rocket_RPG
jmp 0x10049cfd
mov ecx, 0x158
cmp ax, cx
jne 0x10049e60
mov ecx, str.Molotov
jmp 0x10049cfd
mov ecx, 0x157
cmp ax, cx
jne 0x10049e74
mov ecx, str.Teargas
jmp 0x10049cfd
mov ecx, 0x156
cmp ax, cx
jne 0x10049e88
mov ecx, str.Grenade
jmp 0x10049cfd
mov ecx, 0x155
cmp ax, cx
jne 0x10049e9c
mov ecx, str.Chainshaw
jmp 0x10049cfd
mov ecx, 0x154
cmp ax, cx
je 0x10049c12
mov ecx, 0x153
cmp ax, cx
jne 0x10049b36
mov ecx, str.Katana
jmp 0x10049cfd