Function at 0x100bb4a0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1019d68d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e0
mov eax, dword [0x102480b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x40], edi
mov ecx, 0x1028ab98
call fcn.10193940
lea eax, [ebp - 0x15]
mov dword [ebp - 0x128], 0
push 8
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], 0
push 4
push str.head
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 2
push 5
push str.chest
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x15]
push 8
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 4
push 4
push str.body
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 6
push 4
push str.arms
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x15]
push 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 8
push 4
push str.legs
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x9c]
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x128]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x98]
call fcn.100f2270
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0xb
push 0xd
push str.pistol_hitbox
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x15]
mov dword [ebp - 0x84], 0
push 8
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0xd
push 6
push str.hitbox
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xf
push 8
movups xmmword [ebp - 0x50], xmm0
call fcn.10191600
lea ecx, [ebp - 0x50]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x50], eax
mov dword [eax], ecx
lea ecx, [edi + 0x2b90]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100bb8df
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x68]
push dword [ebp - 0x58]
cmovae eax, dword [ebp - 0x68]
push eax
call fcn.100425a0
lea ecx, [edi + 0x2bd0]
mov byte [edi + 0x2bc9], 1
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100bb910
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.100425a0
mov esi, dword [ebp - 0x94]
xor eax, eax
cmp byte [edi + 0x2bc9], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x2c10], eax
add eax, 0x14
mov dword [edi + 0x2b64], eax
mov dword [edi + 0x2b68], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100bb996
nop dword [eax + eax]
mov ecx, dword [edi + 0x2bf4]
lea eax, [edi + 0x2bec]
push esi
cmp ecx, dword [edi + 0x2bf8]
je 0x100bb986
call fcn.100429a0
mov eax, dword [edi + 0x2bf4]
lea ecx, [edi + 0x2bec]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x2bf4], 0x1c
jmp 0x100bb98e
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x20]
jne 0x100bb950
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100bbabe
lea esi, [edi + 0x2c00]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10041720
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x140]
call fcn.10048230
add esp, 0x18
lea ecx, [edi + 0x2c00]
mov esi, eax
lea eax, [ebp - 0x134]
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x20]
push 3
mov byte [ebp - 0x15], al
call esi
lea ecx, [ebp - 0x134]
call fcn.1002f5b0
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
push 3
lea ecx, [ebp - 0x28]
call esi
lea ecx, [ebp - 0x140]
call fcn.1002f5b0
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov ecx, dword [edi + 0x2bf4]
lea esi, [edi + 0x2c00]
sub ecx, dword [edi + 0x2bf0]
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x2c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x100bba9a
mov eax, dword [edi + 0x2c08]
cmp eax, dword [edi + 0x2c0c]
je 0x100bba8e
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x2c08]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x2c08], 4
jmp 0x100bba9a
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100bbaac
mov eax, dword [edi + 0x2bc4]
test eax, eax
je 0x100bbaac
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bb9b0
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100bbaef
mov edx, dword [ebp - 0x44]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x50]
push 8
push eax
mov dword [ebp - 0x50], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x88]
call fcn.1002f6d0
mov eax, dword [ebp - 0x70]
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
cmp eax, 0x10
jb 0x100bbb80
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100bbb79
test eax, eax
je 0x100bbb79
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x101ad5ac
push ecx
push 0x33c
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100bbb58
int3
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call esi
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
mov edx, eax
call fcn.10049fa0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x6c]
call fcn.1002f6d0
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x100bbc20
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100bbc19
test eax, eax
je 0x100bbc19
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x101ad5ac
push ecx
push 0x33c
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100bbbf8
int3
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call esi
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
mov edx, eax
call fcn.10049fa0
mov eax, dword [ebp - 0x6c]
push 8
push eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.10044c30
mov eax, dword [ebp - 0x98]
push 8
push eax
mov dword [ebp - 0x98], 0
call fcn.10191ec0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x128]
push fcn.10042720
push 5
push 0x1c
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x2b54]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2b6c], 1
lea ecx, [ebp - 0x34]
mov dword [edi + 0x2b58], 0x14a
mov dword [edi + 0x2b60], 0xfa
mov eax, dword [edi + 0x34]
push ecx
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x2b70], eax
call fcn.100ef1f0
lea eax, [ebp - 0x16]
mov dword [ebp - 0x128], 0
push 8
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], 0x11
push 4
push str.head
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x15]
push 8
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x13
push 5
push str.chest
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0x15
push 4
push str.body
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x15]
push 8
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0x17
push 4
push str.arms
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0x19
push 4
push str.legs
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x9c]
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x128]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x98]
call fcn.100f2270
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x16]
push 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x1c
push 0x15
push str.pistol_hitbox_history
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x15]
push 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x1e
push 0xe
push str.hitbox_history
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
call fcn.100425a0
mov dword [ebp - 0x3c], 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
push 8
movups xmmword [ebp - 0x50], xmm0
call fcn.10191600
lea ecx, [ebp - 0x50]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x50], eax
mov dword [eax], ecx
lea ecx, [edi + 0x2c50]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100bc0d0
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.100425a0
lea ecx, [edi + 0x2c90]
mov byte [edi + 0x2c89], 1
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100bc0f8
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x68]
push dword [ebp - 0x58]
cmovae eax, dword [ebp - 0x68]
push eax
call fcn.100425a0
mov esi, dword [ebp - 0x94]
xor eax, eax
cmp byte [edi + 0x2c89], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x2cd0], eax
add eax, 0x14
mov dword [edi + 0x2c24], eax
mov dword [edi + 0x2c28], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x100bc176
mov ecx, dword [edi + 0x2cb4]
lea eax, [edi + 0x2cac]
push esi
cmp ecx, dword [edi + 0x2cb8]
je 0x100bc166
call fcn.100429a0
mov eax, dword [edi + 0x2cb4]
lea ecx, [edi + 0x2cac]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x2cb4], 0x1c
jmp 0x100bc16e
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bc130
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ecx
cmp eax, ecx
je 0x100bc29e
lea esi, [edi + 0x2cc0]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10041720
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x134]
call fcn.10048230
add esp, 0x18
lea ecx, [edi + 0x2cc0]
mov esi, eax
lea eax, [ebp - 0x140]
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
push 3
mov byte [ebp - 0x15], al
call esi
lea ecx, [ebp - 0x140]
call fcn.1002f5b0
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
push 3
lea ecx, [ebp - 0x2c]
call esi
lea ecx, [ebp - 0x134]
call fcn.1002f5b0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov ecx, dword [edi + 0x2cb4]
lea esi, [edi + 0x2cc0]
sub ecx, dword [edi + 0x2cb0]
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x20]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x100bc27a
mov eax, dword [edi + 0x2cc8]
cmp eax, dword [edi + 0x2ccc]
je 0x100bc26e
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x2cc8]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x2cc8], 4
jmp 0x100bc27a
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100bc28c
mov eax, dword [edi + 0x2c84]
test eax, eax
je 0x100bc28c
call eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x28]
jne 0x100bc190
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100bc2cf
mov edx, dword [ebp - 0x44]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x50]
push 8
push eax
mov dword [ebp - 0x50], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x6c]
call fcn.1002f6d0
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x100bc36f
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100bc360
test eax, eax
je 0x100bc360
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x101ad5ac
push ecx
push 0x33c
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100bc330
int3
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call esi
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
mov edx, eax
call fcn.10049fa0
jmp 0x100bc375
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, eax
call fcn.10049fa0
jmp 0x100bc375
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov eax, dword [ebp - 0x6c]
push 8
push eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x88]
call fcn.1002f6d0
mov eax, dword [ebp - 0x70]
cmp eax, 0x10
jb 0x100bc412
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100bc40b
test eax, eax
je 0x100bc40b
push str.null_pointer_cannot_point_to_a_block_of_non_zero_size
push 0x101ad5ac
push ecx
push 0x33c
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100bc3ea
int3
push 0
push 0x33c
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call esi
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
mov edx, eax
call fcn.10049fa0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.10044c30
mov eax, dword [ebp - 0x98]
push 8
push eax
mov dword [ebp - 0x98], 0
call fcn.10191ec0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x128]
push fcn.10042720
push 5
push 0x1c
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x2c14]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2c2c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2c18], 0x14a
mov dword [edi + 0x2c20], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2c30], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
lea eax, [ebp - 0x16]
mov dword [ebp - 0x110], 0
push 8
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x38], eax
call fcn.10191600
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x110], eax
mov dword [ebp - 4], 0x22
push 4
push str.head
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
call fcn.100425a0
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x15]
mov ecx, 8
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x38], eax
call fcn.1002f040
mov esi, eax
lea eax, [ebp - 0xf4]
push eax
mov ecx, esi
mov dword [ebp - 0x3c], esi
call fcn.1002f140
mov dword [ebp - 0xf4], esi
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xf4]
call fcn.100454d0
push str.chest
lea ecx, [ebp - 0xf4]
call fcn.100455b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
call fcn.10042ef0
push str.body
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x25
call fcn.10042840
push str.legs
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x26
call fcn.10042840
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x30]
call fcn.100f2200
push dword [eax + 4]
push dword [eax]
push ecx
lea ecx, [ebp - 0x50]
call fcn.100f2270
push str.pistol_multipoint
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x28
call fcn.10042840
push str.multi_point
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x29
call fcn.10042840
lea ecx, [ebp - 0x98]
call fcn.100418f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x2d10]
call fcn.10073120
lea eax, [ebp - 0x6c]
mov byte [edi + 0x2d49], 1
push eax
lea ecx, [edi + 0x2d50]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x2d49], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x2d90], eax
add eax, 0x14
mov dword [edi + 0x2ce4], eax
mov dword [edi + 0x2ce8], eax
lea eax, [edi + 0x2d6c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
je 0x100bc6d6
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bc6c3
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100bc79f
lea esi, [edi + 0x2d80]
mov dword [ebp - 0x1c], esi
nop dword [eax]
mov edi, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x28], edi
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10041720
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x134]
call fcn.10048230
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x140]
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x15], al
call fcn.10034970
lea ecx, [ebp - 0x134]
call fcn.10034970
mov ecx, dword [ebp - 0x24]
call fcn.10041220
mov esi, dword [ebp - 0x1c]
cmp edi, eax
jae 0x100bc778
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bc78d
mov eax, dword [edi + 0x2d44]
test eax, eax
je 0x100bc78d
call eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bc700
lea ecx, [ebp - 0x98]
call fcn.100417a0
lea ecx, [ebp - 0x6c]
call fcn.10042720
lea ecx, [ebp - 0x88]
call fcn.10042720
lea ecx, [ebp - 0x50]
call fcn.10041330
push fcn.10042720
push 4
push 0x1c
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x2cd4]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2cec], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2cd8], 0x14a
mov dword [edi + 0x2ce0], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2cf0], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1cc]
lea esi, [edi + 0x2d94]
call fcn.100f24f0
push str.pistol_hitbox_scale
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2c
call fcn.10042840
push 0x101af3e7
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x2d
call fcn.10042840
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [edi + 0x2dd0]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x2e09], 0
push eax
lea ecx, [edi + 0x2e44]
mov dword [edi + 0x2e60], 0
mov dword [edi + 0x2da4], 8
mov dword [edi + 0x2da8], 8
mov dword [edi + 0x2e14], 0x3f800000
mov dword [edi + 0x2e18], 0x42c80000
mov dword [edi + 0x2e10], 0x42700000
mov dword [edi + 0x2e24], 0
mov dword [edi + 0x2e1c], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x88]
call fcn.10042720
lea ecx, [ebp - 0x6c]
call fcn.10042720
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2dac], 1
mov dword [edi + 0x2d98], 0x14a
mov dword [edi + 0x2da0], 0xfa
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x2db0], eax
lea ecx, [edi + 0x1c]
lea eax, [ebp - 0x34]
push eax
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1e8]
lea esi, [edi + 0x2e64]
call fcn.100f24f0
push str.pistol_body_hitbox_scale
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2f
call fcn.10042840
push str.body_hitbox_scale
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x30
call fcn.10042840
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [edi + 0x2ea0]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x2ed9], 1
push eax
lea ecx, [edi + 0x2ef8]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x2ee4], 0x3f800000
cmp byte [edi + 0x2ed9], al
mov ecx, 0xf
mov dword [edi + 0x2ee8], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2ee0], 0x428c0000
mov dword [edi + 0x2f30], eax
lea ecx, [edi + 0x2f14]
add eax, 8
mov dword [edi + 0x2ef4], 0
mov dword [edi + 0x2e74], eax
mov dword [edi + 0x2e78], eax
lea eax, [ebp - 0x1e8]
push eax
mov dword [edi + 0x2eec], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x1cc]
call fcn.10042720
lea ecx, [ebp - 0x6c]
call fcn.10042720
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2e7c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2e68], 0x14a
mov dword [edi + 0x2e70], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2e80], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x204]
lea esi, [edi + 0x2f34]
call fcn.100f24f0
push str.pistol_feet_hitbox_scale
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 4], 0x32
call fcn.10042840
mov byte [ebp - 4], 0x33
push str.feet_hitbox_scale
lea ecx, [ebp - 0x1e8]
call fcn.10042840
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [edi + 0x2f70]
call fcn.10073120
lea eax, [ebp - 0x1e8]
mov byte [edi + 0x2fa9], 1
push eax
lea ecx, [edi + 0x2fc8]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x2fb4], 0x3f800000
cmp byte [edi + 0x2fa9], al
mov ecx, 0xf
mov dword [edi + 0x2fb8], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2fb0], 0x42a00000
mov dword [edi + 0x3000], eax
lea ecx, [edi + 0x2fe4]
add eax, 8
mov dword [edi + 0x2fc4], 0
mov dword [edi + 0x2f44], eax
mov dword [edi + 0x2f48], eax
lea eax, [ebp - 0x204]
push eax
mov dword [edi + 0x2fbc], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x1e8]
call fcn.10042720
lea ecx, [ebp - 0x1cc]
call fcn.10042720
lea ecx, [ebp - 0x204]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x2f4c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2f38], 0x14a
mov dword [edi + 0x2f40], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2f50], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x194]
lea esi, [edi + 0x3004]
call fcn.100f24f0
push str.pistol_minimal_damage
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 4], 0x35
call fcn.10042840
push str.minimal_damage
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x36
call fcn.10042840
lea eax, [ebp - 0x1e8]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [edi + 0x3040]
call fcn.10073120
lea eax, [ebp - 0x204]
mov byte [edi + 0x3079], 1
push eax
lea ecx, [edi + 0x3098]
call fcn.10073120
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x3079], al
cmovne eax, ecx
mov dword [edi + 0x30d0], eax
lea ecx, [edi + 0x30b4]
add eax, 8
mov dword [edi + 0x3084], 0x3f800000
mov dword [edi + 0x3014], eax
mov dword [edi + 0x3018], eax
lea eax, [ebp - 0x194]
push eax
mov dword [edi + 0x3088], 0x42c80000
mov dword [edi + 0x3080], 0x41a00000
mov dword [edi + 0x3094], 0
mov dword [edi + 0x308c], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x204]
call fcn.10042720
lea ecx, [ebp - 0x1e8]
call fcn.10042720
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x301c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3008], 0x14a
mov dword [edi + 0x3010], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3020], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.pistol_minimal_damage_hp
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x30d4]
call fcn.10042840
push str.scale_damage_on_hp
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0x38
call fcn.10042840
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [edi + 0x3110]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [edi + 0x3149], 1
push eax
lea ecx, [edi + 0x3150]
call fcn.10073120
lea ecx, [ebp - 0x194]
mov byte [edi + 0x314c], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x30ec], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x30d8], 0x14a
mov dword [edi + 0x30e0], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x30f0], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x178]
lea esi, [edi + 0x316c]
call fcn.100f24f0
push str.pistol_dmg_override_amount
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0x3a
call fcn.10042840
push str.dmg_override_amount
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x3b
call fcn.10042840
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x31a8]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x31e1], 1
push eax
lea ecx, [edi + 0x3200]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x31ec], 0x3f800000
cmp byte [edi + 0x31e1], al
mov ecx, 0xf
mov dword [edi + 0x31f0], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x31e8], 0x40a00000
mov dword [edi + 0x3238], eax
lea ecx, [edi + 0x321c]
add eax, 8
mov dword [edi + 0x31fc], 0
mov dword [edi + 0x317c], eax
mov dword [edi + 0x3180], eax
lea eax, [ebp - 0x178]
push eax
mov dword [edi + 0x31f4], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x1b0]
call fcn.10042720
lea ecx, [ebp - 0x194]
call fcn.10042720
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3184], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3170], 0x14a
mov dword [edi + 0x3178], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3188], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.pistol_penetrate
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x323c]
call fcn.10042840
push str.penetrate_walls
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], 0x3d
call fcn.10042840
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [edi + 0x3278]
call fcn.10073120
lea eax, [ebp - 0x178]
mov byte [edi + 0x32b1], 1
push eax
lea ecx, [edi + 0x32b8]
call fcn.10073120
mov byte [edi + 0x32b4], 0
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3254], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3240], 0x14a
mov dword [edi + 0x3248], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3258], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c958
lea ecx, [ebp - 0x260]
call fcn.10042840
push str.always
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], 0x3f
call fcn.10042840
push str.hitchance_fail
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x40
call fcn.10042840
lea eax, [ebp - 0x20c]
mov dword [ebp - 4], 0x41
push eax
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x3c]
call fcn.100f2200
push dword [eax + 4]
push dword [eax]
push ecx
lea ecx, [ebp - 0x98]
call fcn.100f2270
push str.pistol_zoom
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x42
call fcn.10042840
push str.auto_scope
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x43
call fcn.10042840
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [edi + 0x3310]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x3349], 1
push eax
lea ecx, [edi + 0x3350]
call fcn.10073120
mov esi, dword [ebp - 0x94]
xor eax, eax
cmp byte [edi + 0x3349], al
mov ecx, 0xf
cmovne eax, ecx
lea ecx, [edi + 0x336c]
mov dword [edi + 0x3384], eax
add eax, 0x14
mov dword [edi + 0x32e4], eax
mov dword [edi + 0x32e8], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x100bd126
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bd110
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
call fcn.10041220
test eax, eax
je 0x100bd139
mov dword [edi + 0x3380], 0
lea ecx, [ebp - 0x15c]
call fcn.10042720
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x98]
call fcn.10041330
push fcn.10042720
push 3
push 0x1c
lea eax, [ebp - 0x260]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x32d4]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x32ec], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x32d8], 0x14a
mov dword [edi + 0x32e0], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x32f0], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.pistol_hitchance
lea ecx, [ebp - 0x1b0]
add edi, 0x3388
call fcn.10042840
push str.hitchance
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0x45
call fcn.10042840
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x1b0]
push eax
mov byte [ebp - 4], 0x46
lea ecx, [esi + 0x33c4]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [esi + 0x33fd], 1
push eax
lea ecx, [esi + 0x3404]
call fcn.10073120
lea ecx, [ebp - 0x15c]
mov byte [esi + 0x3400], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
push eax
lea ecx, [edi + 0x60]
call fcn.100ef420
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x100585d0
push eax
lea ecx, [edi + 0x60]
call fcn.100ef420
mov dword [esi + 0x33a0], 1
lea ecx, [esi + 0x1c]
mov dword [esi + 0x338c], 0x14a
mov dword [esi + 0x3394], 0xfa
mov eax, dword [esi + 0x34]
mov dword [esi + 0x33a4], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x194]
lea edi, [esi + 0x3420]
call fcn.100f24f0
push str.pistol_hitchance_amount
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0x47
call fcn.10042840
push 0x101af3e7
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x48
call fcn.10042840
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [esi + 0x345c]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [esi + 0x3495], 0
push eax
lea ecx, [esi + 0x34d0]
mov dword [esi + 0x34ec], 0
mov dword [esi + 0x3430], 8
mov dword [esi + 0x3434], 8
mov dword [esi + 0x34a0], 0x3f800000
mov dword [esi + 0x34a4], 0x42c80000
mov dword [esi + 0x349c], 0x42480000
mov dword [esi + 0x34b0], 0
mov dword [esi + 0x34a8], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x15c]
call fcn.10042720
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
push eax
lea ecx, [edi + 0x60]
call fcn.100ef420
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x100585d0
push eax
lea ecx, [edi + 0x60]
call fcn.100ef420
mov dword [ebp - 0x34], edi
mov edi, esi
mov dword [edi + 0x3438], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3424], 0x14a
mov dword [edi + 0x342c], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x343c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.100ef1f0
push str.always
lea ecx, [ebp - 0x2f0]
call fcn.10042840
push str.lethal
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 4], 0x4a
call fcn.10042840
push str.lethal_x2
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x4b
call fcn.10042840
push str.fake
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x4c
call fcn.10042840
push str.in_air
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0x4d
call fcn.10042840
mov dword [ebp - 4], 0x4e
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x30]
call fcn.100f2200
push dword [eax + 4]
push dword [eax]
push ecx
lea ecx, [ebp - 0x50]
call fcn.100f2270
push str.pistol_baim1
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x4f
call fcn.10042840
push str.prefer_body_aim
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x50
call fcn.10042840
lea ecx, [ebp - 0x98]
call fcn.100418f0
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0x352c]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x3565], 1
push eax
lea ecx, [edi + 0x356c]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x3565], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x35ac], eax
add eax, 0x14
mov dword [edi + 0x3500], eax
mov dword [edi + 0x3504], eax
lea eax, [edi + 0x3588]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100bd52a
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bd517
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100bd5ef
lea esi, [edi + 0x359c]
mov dword [ebp - 0x1c], esi
nop dword [eax]
mov edi, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x28], edi
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10041720
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x134]
call fcn.10048230
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x140]
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x15], al
call fcn.10034970
lea ecx, [ebp - 0x134]
call fcn.10034970
mov ecx, dword [ebp - 0x20]
call fcn.10041220
mov esi, dword [ebp - 0x1c]
cmp edi, eax
jae 0x100bd5c8
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bd5dd
mov eax, dword [edi + 0x3560]
test eax, eax
je 0x100bd5dd
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bd550
lea ecx, [ebp - 0x98]
call fcn.100417a0
lea ecx, [ebp - 0x15c]
call fcn.10042720
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x50]
call fcn.10041330
push fcn.10042720
push 5
push 0x1c
lea eax, [ebp - 0x2f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x34f0]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3508], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x34f4], 0x14a
mov dword [edi + 0x34fc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x350c], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.always
lea ecx, [ebp - 0x110]
call fcn.10042840
push str.health
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0x53
call fcn.10042840
push str.fake
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x54
call fcn.10042840
push str.in_air
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x55
call fcn.10042840
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x56
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x30]
call fcn.100f2200
push dword [eax + 4]
push dword [eax]
push ecx
lea ecx, [ebp - 0x50]
call fcn.100f2270
push str.pistol_baim2
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x57
call fcn.10042840
push str.only_body_aim
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x58
call fcn.10042840
lea ecx, [ebp - 0x98]
call fcn.100418f0
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [edi + 0x35ec]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x3625], 1
push eax
lea ecx, [edi + 0x362c]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x3625], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x366c], eax
add eax, 0x14
mov dword [edi + 0x35c0], eax
mov dword [edi + 0x35c4], eax
lea eax, [edi + 0x3648]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100bd7b3
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bd7a0
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100bd875
lea esi, [edi + 0x365c]
mov dword [ebp - 0x1c], esi
mov edi, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x28], edi
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10041720
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x134]
call fcn.10048230
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x140]
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
lea ecx, [ebp - 0x140]
mov byte [ebp - 0x15], al
call fcn.10034970
lea ecx, [ebp - 0x134]
call fcn.10034970
mov ecx, dword [ebp - 0x20]
call fcn.10041220
mov esi, dword [ebp - 0x1c]
cmp edi, eax
jae 0x100bd84e
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bd863
mov eax, dword [edi + 0x3620]
test eax, eax
je 0x100bd863
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bd7d6
lea ecx, [ebp - 0x98]
call fcn.100417a0
lea ecx, [ebp - 0x15c]
call fcn.10042720
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x50]
call fcn.10041330
push fcn.10042720
push 4
push 0x1c
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10191670
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
lea esi, [edi + 0x35b0]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x35c8], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x35b4], 0x14a
mov dword [edi + 0x35bc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x35cc], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022ca90
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x3670]
call fcn.100f24f0
push str.pistol_baim_hp
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0x5b
call fcn.10042840
push 0x101af3e7
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x5c
call fcn.10042840
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0x36ac]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x36e5], 0
push eax
lea ecx, [edi + 0x3720]
mov dword [edi + 0x373c], 0
mov dword [edi + 0x3680], 8
mov dword [edi + 0x3684], 8
mov dword [edi + 0x36f0], 0x3f800000
mov dword [edi + 0x36f4], 0x42c80000
mov dword [edi + 0x36ec], 0x41a00000
mov dword [edi + 0x3700], 0
mov dword [edi + 0x36f8], 0x3f800000
call fcn.100f24b0
lea ecx, [ebp - 0x178]
call fcn.10042720
lea ecx, [ebp - 0x15c]
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.100a6a90
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057970
push eax
lea ecx, [edi + 0x36d0]
call fcn.100ef420
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0x14a
mov dword [esi + 0xc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x34], esi
mov dword [esi + 0x1c], eax
lea ecx, [edi + 0x1c]
lea eax, [ebp - 0x34]
push eax
call fcn.100ef1f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101912d0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret