Function at 0x100bda50
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 0x1019daad
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 0x13
push str.heavy_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 + 0x377c]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100bde8f
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 + 0x37bc]
mov byte [edi + 0x37b5], 1
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100bdec0
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 + 0x37b5], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x37fc], eax
add eax, 0x14
mov dword [edi + 0x3750], eax
mov dword [edi + 0x3754], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100bdf46
nop dword [eax + eax]
mov ecx, dword [edi + 0x37e0]
lea eax, [edi + 0x37d8]
push esi
cmp ecx, dword [edi + 0x37e4]
je 0x100bdf36
call fcn.100429a0
mov eax, dword [edi + 0x37e0]
lea ecx, [edi + 0x37d8]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x37e0], 0x1c
jmp 0x100bdf3e
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x20]
jne 0x100bdf00
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100be06e
lea esi, [edi + 0x37ec]
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 + 0x37ec]
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 + 0x37e0]
lea esi, [edi + 0x37ec]
sub ecx, dword [edi + 0x37dc]
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 0x100be04a
mov eax, dword [edi + 0x37f4]
cmp eax, dword [edi + 0x37f8]
je 0x100be03e
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x37f4]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x37f4], 4
jmp 0x100be04a
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100be05c
mov eax, dword [edi + 0x37b0]
test eax, eax
je 0x100be05c
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bdf60
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100be09f
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 0x100be130
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100be129
test eax, eax
je 0x100be129
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 0x100be108
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 0x100be1d0
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100be1c9
test eax, eax
je 0x100be1c9
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 0x100be1a8
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], 0x10057b20
lea esi, [edi + 0x3740]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3758], 1
lea ecx, [ebp - 0x34]
mov dword [edi + 0x3744], 0x14a
mov dword [edi + 0x374c], 0xfa
mov eax, dword [edi + 0x34]
push ecx
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x375c], 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 0x1b
push str.heavy_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 + 0x383c]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100be680
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 + 0x387c]
mov byte [edi + 0x3875], 1
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100be6a8
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 + 0x3875], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x38bc], eax
add eax, 0x14
mov dword [edi + 0x3810], eax
mov dword [edi + 0x3814], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x100be726
mov ecx, dword [edi + 0x38a0]
lea eax, [edi + 0x3898]
push esi
cmp ecx, dword [edi + 0x38a4]
je 0x100be716
call fcn.100429a0
mov eax, dword [edi + 0x38a0]
lea ecx, [edi + 0x3898]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x38a0], 0x1c
jmp 0x100be71e
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100be6e0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ecx
cmp eax, ecx
je 0x100be84e
lea esi, [edi + 0x38ac]
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 + 0x38ac]
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 + 0x38a0]
lea esi, [edi + 0x38ac]
sub ecx, dword [edi + 0x389c]
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 0x100be82a
mov eax, dword [edi + 0x38b4]
cmp eax, dword [edi + 0x38b8]
je 0x100be81e
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x38b4]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x38b4], 4
jmp 0x100be82a
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100be83c
mov eax, dword [edi + 0x3870]
test eax, eax
je 0x100be83c
call eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x28]
jne 0x100be740
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100be87f
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 0x100be91f
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100be910
test eax, eax
je 0x100be910
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 0x100be8e0
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 0x100be925
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, eax
call fcn.10049fa0
jmp 0x100be925
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 0x100be9c2
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100be9bb
test eax, eax
je 0x100be9bb
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 0x100be99a
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], 0x10057b20
lea esi, [edi + 0x3800]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3818], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3804], 0x14a
mov dword [edi + 0x380c], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x381c], 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.heavy_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 + 0x38fc]
call fcn.10073120
lea eax, [ebp - 0x6c]
mov byte [edi + 0x3935], 1
push eax
lea ecx, [edi + 0x393c]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x3935], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x397c], eax
add eax, 0x14
mov dword [edi + 0x38d0], eax
mov dword [edi + 0x38d4], eax
lea eax, [edi + 0x3958]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
je 0x100bec86
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bec73
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 0x100bed4f
lea esi, [edi + 0x396c]
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 0x100bed28
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bed3d
mov eax, dword [edi + 0x3930]
test eax, eax
je 0x100bed3d
call eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x34]
jne 0x100becb0
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], 0x10057b20
lea esi, [edi + 0x38c0]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x38d8], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x38c4], 0x14a
mov dword [edi + 0x38cc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x38dc], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1cc]
lea esi, [edi + 0x3980]
call fcn.100f24f0
push str.heavy_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 + 0x39bc]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x39f5], 0
push eax
lea ecx, [edi + 0x3a30]
mov dword [edi + 0x3a4c], 0
mov dword [edi + 0x3990], 8
mov dword [edi + 0x3994], 8
mov dword [edi + 0x3a00], 0x3f800000
mov dword [edi + 0x3a04], 0x42c80000
mov dword [edi + 0x39fc], 0x42700000
mov dword [edi + 0x3a10], 0
mov dword [edi + 0x3a08], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3998], 1
mov dword [edi + 0x3984], 0x14a
mov dword [edi + 0x398c], 0xfa
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x399c], eax
lea ecx, [edi + 0x1c]
lea eax, [ebp - 0x34]
push eax
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1e8]
lea esi, [edi + 0x3a50]
call fcn.100f24f0
push str.heavy_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 + 0x3a8c]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x3ac5], 1
push eax
lea ecx, [edi + 0x3ae4]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x3ad0], 0x3f800000
cmp byte [edi + 0x3ac5], al
mov ecx, 0xf
mov dword [edi + 0x3ad4], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x3acc], 0x428c0000
mov dword [edi + 0x3b1c], eax
lea ecx, [edi + 0x3b00]
add eax, 8
mov dword [edi + 0x3ae0], 0
mov dword [edi + 0x3a60], eax
mov dword [edi + 0x3a64], eax
lea eax, [ebp - 0x1e8]
push eax
mov dword [edi + 0x3ad8], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3a68], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3a54], 0x14a
mov dword [edi + 0x3a5c], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3a6c], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x204]
lea esi, [edi + 0x3b20]
call fcn.100f24f0
push str.heavy_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 + 0x3b5c]
call fcn.10073120
lea eax, [ebp - 0x1e8]
mov byte [edi + 0x3b95], 1
push eax
lea ecx, [edi + 0x3bb4]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x3ba0], 0x3f800000
cmp byte [edi + 0x3b95], al
mov ecx, 0xf
mov dword [edi + 0x3ba4], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x3b9c], 0x42a00000
mov dword [edi + 0x3bec], eax
lea ecx, [edi + 0x3bd0]
add eax, 8
mov dword [edi + 0x3bb0], 0
mov dword [edi + 0x3b30], eax
mov dword [edi + 0x3b34], eax
lea eax, [ebp - 0x204]
push eax
mov dword [edi + 0x3ba8], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3b38], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3b24], 0x14a
mov dword [edi + 0x3b2c], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3b3c], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x194]
lea esi, [edi + 0x3bf0]
call fcn.100f24f0
push str.heavy_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 + 0x3c2c]
call fcn.10073120
lea eax, [ebp - 0x204]
mov byte [edi + 0x3c65], 1
push eax
lea ecx, [edi + 0x3c84]
call fcn.10073120
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x3c65], al
cmovne eax, ecx
mov dword [edi + 0x3cbc], eax
lea ecx, [edi + 0x3ca0]
add eax, 8
mov dword [edi + 0x3c70], 0x3f800000
mov dword [edi + 0x3c00], eax
mov dword [edi + 0x3c04], eax
lea eax, [ebp - 0x194]
push eax
mov dword [edi + 0x3c74], 0x42c80000
mov dword [edi + 0x3c6c], 0x41f00000
mov dword [edi + 0x3c80], 0
mov dword [edi + 0x3c78], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3c08], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3bf4], 0x14a
mov dword [edi + 0x3bfc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3c0c], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.heavy_pistol_minimal_damage_hp
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x3cc0]
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 + 0x3cfc]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [edi + 0x3d35], 1
push eax
lea ecx, [edi + 0x3d3c]
call fcn.10073120
lea ecx, [ebp - 0x194]
mov byte [edi + 0x3d38], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3cd8], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3cc4], 0x14a
mov dword [edi + 0x3ccc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3cdc], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x178]
lea esi, [edi + 0x3d58]
call fcn.100f24f0
push str.heavy_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 + 0x3d94]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x3dcd], 1
push eax
lea ecx, [edi + 0x3dec]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x3dd8], 0x3f800000
cmp byte [edi + 0x3dcd], al
mov ecx, 0xf
mov dword [edi + 0x3ddc], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x3dd4], 0x41200000
mov dword [edi + 0x3e24], eax
lea ecx, [edi + 0x3e08]
add eax, 8
mov dword [edi + 0x3de8], 0
mov dword [edi + 0x3d68], eax
mov dword [edi + 0x3d6c], eax
lea eax, [ebp - 0x178]
push eax
mov dword [edi + 0x3de0], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3d70], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3d5c], 0x14a
mov dword [edi + 0x3d64], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3d74], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.heavy_pistol_penetrate
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x3e28]
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 + 0x3e64]
call fcn.10073120
lea eax, [ebp - 0x178]
mov byte [edi + 0x3e9d], 1
push eax
lea ecx, [edi + 0x3ea4]
call fcn.10073120
mov byte [edi + 0x3ea0], 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], 0x10057b20
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3e40], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3e2c], 0x14a
mov dword [edi + 0x3e34], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3e44], 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.heavy_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 + 0x3efc]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x3f35], 1
push eax
lea ecx, [edi + 0x3f3c]
call fcn.10073120
mov esi, dword [ebp - 0x94]
xor eax, eax
cmp byte [edi + 0x3f35], al
mov ecx, 0xf
cmovne eax, ecx
lea ecx, [edi + 0x3f58]
mov dword [edi + 0x3f70], eax
add eax, 0x14
mov dword [edi + 0x3ed0], eax
mov dword [edi + 0x3ed4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x100bf6d6
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bf6c0
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
call fcn.10041220
test eax, eax
je 0x100bf6e9
mov dword [edi + 0x3f6c], 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], 0x10057b20
lea esi, [edi + 0x3ec0]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x3ed8], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3ec4], 0x14a
mov dword [edi + 0x3ecc], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3edc], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.heavy_pistol_hitchance
lea ecx, [ebp - 0x1b0]
add edi, 0x3f74
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 + 0x3fb0]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [esi + 0x3fe9], 1
push eax
lea ecx, [esi + 0x3ff0]
call fcn.10073120
lea ecx, [ebp - 0x15c]
mov byte [esi + 0x3fec], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057b20
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 + 0x3f8c], 1
lea ecx, [esi + 0x1c]
mov dword [esi + 0x3f78], 0x14a
mov dword [esi + 0x3f80], 0xfa
mov eax, dword [esi + 0x34]
mov dword [esi + 0x3f90], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x194]
lea edi, [esi + 0x400c]
call fcn.100f24f0
push str.heavy_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 + 0x4048]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [esi + 0x4081], 0
push eax
lea ecx, [esi + 0x40bc]
mov dword [esi + 0x40d8], 0
mov dword [esi + 0x401c], 8
mov dword [esi + 0x4020], 8
mov dword [esi + 0x408c], 0x3f800000
mov dword [esi + 0x4090], 0x42c80000
mov dword [esi + 0x4088], 0x425c0000
mov dword [esi + 0x409c], 0
mov dword [esi + 0x4094], 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], 0x10057b20
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 + 0x4024], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4010], 0x14a
mov dword [edi + 0x4018], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4028], 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.heavy_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 + 0x4118]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x4151], 1
push eax
lea ecx, [edi + 0x4158]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x4151], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x4198], eax
add eax, 0x14
mov dword [edi + 0x40ec], eax
mov dword [edi + 0x40f0], eax
lea eax, [edi + 0x4174]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100bfada
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bfac7
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 0x100bfb9f
lea esi, [edi + 0x4188]
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 0x100bfb78
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bfb8d
mov eax, dword [edi + 0x414c]
test eax, eax
je 0x100bfb8d
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bfb00
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], 0x10057b20
lea esi, [edi + 0x40dc]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x40f4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x40e0], 0x14a
mov dword [edi + 0x40e8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x40f8], 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.heavy_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 + 0x41d8]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x4211], 1
push eax
lea ecx, [edi + 0x4218]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x4211], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x4258], eax
add eax, 0x14
mov dword [edi + 0x41ac], eax
mov dword [edi + 0x41b0], eax
lea eax, [edi + 0x4234]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100bfd63
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100bfd50
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 0x100bfe25
lea esi, [edi + 0x4248]
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 0x100bfdfe
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100bfe13
mov eax, dword [edi + 0x420c]
test eax, eax
je 0x100bfe13
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100bfd86
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], 0x10057b20
lea esi, [edi + 0x419c]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x41b4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x41a0], 0x14a
mov dword [edi + 0x41a8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x41b8], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022ca90
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x425c]
call fcn.100f24f0
push str.heavy_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 + 0x4298]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x42d1], 0
push eax
lea ecx, [edi + 0x430c]
mov dword [edi + 0x4328], 0
mov dword [edi + 0x426c], 8
mov dword [edi + 0x4270], 8
mov dword [edi + 0x42dc], 0x3f800000
mov dword [edi + 0x42e0], 0x42c80000
mov dword [edi + 0x42d8], 0x41200000
mov dword [edi + 0x42ec], 0
mov dword [edi + 0x42e4], 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], 0x10057b20
push eax
lea ecx, [edi + 0x42bc]
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