Function at 0x100c0000
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 0x1019decd
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 0xa
push str.smg_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 + 0x4368]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100c043f
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 + 0x43a8]
mov byte [edi + 0x43a1], 1
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100c0470
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 + 0x43a1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x43e8], eax
add eax, 0x14
mov dword [edi + 0x433c], eax
mov dword [edi + 0x4340], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100c04f6
nop dword [eax + eax]
mov ecx, dword [edi + 0x43cc]
lea eax, [edi + 0x43c4]
push esi
cmp ecx, dword [edi + 0x43d0]
je 0x100c04e6
call fcn.100429a0
mov eax, dword [edi + 0x43cc]
lea ecx, [edi + 0x43c4]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x43cc], 0x1c
jmp 0x100c04ee
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x20]
jne 0x100c04b0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x100c061e
lea esi, [edi + 0x43d8]
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 + 0x43d8]
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 + 0x43cc]
lea esi, [edi + 0x43d8]
sub ecx, dword [edi + 0x43c8]
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 0x100c05fa
mov eax, dword [edi + 0x43e0]
cmp eax, dword [edi + 0x43e4]
je 0x100c05ee
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x43e0]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x43e0], 4
jmp 0x100c05fa
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100c060c
mov eax, dword [edi + 0x439c]
test eax, eax
je 0x100c060c
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100c0510
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100c064f
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 0x100c06e0
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100c06d9
test eax, eax
je 0x100c06d9
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 0x100c06b8
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 0x100c0780
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100c0779
test eax, eax
je 0x100c0779
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 0x100c0758
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], 0x10057cd0
lea esi, [edi + 0x432c]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4344], 1
lea ecx, [ebp - 0x34]
mov dword [edi + 0x4330], 0x14a
mov dword [edi + 0x4338], 0xfa
mov eax, dword [edi + 0x34]
push ecx
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x4348], 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 0x12
push str.smg_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 + 0x4428]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x100c0c30
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 + 0x4468]
mov byte [edi + 0x4461], 1
lea eax, [ebp - 0x6c]
cmp ecx, eax
je 0x100c0c58
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 + 0x4461], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x44a8], eax
add eax, 0x14
mov dword [edi + 0x43fc], eax
mov dword [edi + 0x4400], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x100c0cd6
mov ecx, dword [edi + 0x448c]
lea eax, [edi + 0x4484]
push esi
cmp ecx, dword [edi + 0x4490]
je 0x100c0cc6
call fcn.100429a0
mov eax, dword [edi + 0x448c]
lea ecx, [edi + 0x4484]
push eax
push eax
call fcn.1004f600
add dword [edi + 0x448c], 0x1c
jmp 0x100c0cce
push ecx
mov ecx, eax
call fcn.1004d880
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100c0c90
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ecx
cmp eax, ecx
je 0x100c0dfe
lea esi, [edi + 0x4498]
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 + 0x4498]
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 + 0x448c]
lea esi, [edi + 0x4498]
sub ecx, dword [edi + 0x4488]
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 0x100c0dda
mov eax, dword [edi + 0x44a0]
cmp eax, dword [edi + 0x44a4]
je 0x100c0dce
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [edi + 0x44a0]
push eax
push eax
call fcn.10079c70
add dword [edi + 0x44a0], 4
jmp 0x100c0dda
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, esi
call fcn.1007b330
cmp byte [ebp - 0x15], 0
je 0x100c0dec
mov eax, dword [edi + 0x445c]
test eax, eax
je 0x100c0dec
call eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x28]
jne 0x100c0cf0
lea ecx, [ebp - 0x50]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x100c0e2f
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 0x100c0ecf
mov ecx, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100c0ec0
test eax, eax
je 0x100c0ec0
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 0x100c0e90
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 0x100c0ed5
mov esi, dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, eax
call fcn.10049fa0
jmp 0x100c0ed5
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 0x100c0f72
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test ecx, ecx
jne 0x100c0f6b
test eax, eax
je 0x100c0f6b
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 0x100c0f4a
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], 0x10057cd0
lea esi, [edi + 0x43ec]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4404], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x43f0], 0x14a
mov dword [edi + 0x43f8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4408], 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.smg_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 + 0x44e8]
call fcn.10073120
lea eax, [ebp - 0x6c]
mov byte [edi + 0x4521], 1
push eax
lea ecx, [edi + 0x4528]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x4521], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x4568], eax
add eax, 0x14
mov dword [edi + 0x44bc], eax
mov dword [edi + 0x44c0], eax
lea eax, [edi + 0x4544]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
je 0x100c1236
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100c1223
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 0x100c12ff
lea esi, [edi + 0x4558]
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 0x100c12d8
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100c12ed
mov eax, dword [edi + 0x451c]
test eax, eax
je 0x100c12ed
call eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x34]
jne 0x100c1260
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], 0x10057cd0
lea esi, [edi + 0x44ac]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x44c4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x44b0], 0x14a
mov dword [edi + 0x44b8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x44c8], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1cc]
lea esi, [edi + 0x456c]
call fcn.100f24f0
push str.smg_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 + 0x45a8]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x45e1], 0
push eax
lea ecx, [edi + 0x461c]
mov dword [edi + 0x4638], 0
mov dword [edi + 0x457c], 8
mov dword [edi + 0x4580], 8
mov dword [edi + 0x45ec], 0x3f800000
mov dword [edi + 0x45f0], 0x42c80000
mov dword [edi + 0x45e8], 0x428c0000
mov dword [edi + 0x45fc], 0
mov dword [edi + 0x45f4], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4584], 1
mov dword [edi + 0x4570], 0x14a
mov dword [edi + 0x4578], 0xfa
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x34], esi
mov dword [edi + 0x4588], eax
lea ecx, [edi + 0x1c]
lea eax, [ebp - 0x34]
push eax
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x1e8]
lea esi, [edi + 0x463c]
call fcn.100f24f0
push str.smg_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 + 0x4678]
call fcn.10073120
lea eax, [ebp - 0x1cc]
mov byte [edi + 0x46b1], 1
push eax
lea ecx, [edi + 0x46d0]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x46bc], 0x3f800000
cmp byte [edi + 0x46b1], al
mov ecx, 0xf
mov dword [edi + 0x46c0], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x46b8], 0x428c0000
mov dword [edi + 0x4708], eax
lea ecx, [edi + 0x46ec]
add eax, 8
mov dword [edi + 0x46cc], 0
mov dword [edi + 0x464c], eax
mov dword [edi + 0x4650], eax
lea eax, [ebp - 0x1e8]
push eax
mov dword [edi + 0x46c4], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4654], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4640], 0x14a
mov dword [edi + 0x4648], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4658], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x204]
lea esi, [edi + 0x470c]
call fcn.100f24f0
push str.smg_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 + 0x4748]
call fcn.10073120
lea eax, [ebp - 0x1e8]
mov byte [edi + 0x4781], 1
push eax
lea ecx, [edi + 0x47a0]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x478c], 0x3f800000
cmp byte [edi + 0x4781], al
mov ecx, 0xf
mov dword [edi + 0x4790], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x4788], 0x42a00000
mov dword [edi + 0x47d8], eax
lea ecx, [edi + 0x47bc]
add eax, 8
mov dword [edi + 0x479c], 0
mov dword [edi + 0x471c], eax
mov dword [edi + 0x4720], eax
lea eax, [ebp - 0x204]
push eax
mov dword [edi + 0x4794], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4724], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4710], 0x14a
mov dword [edi + 0x4718], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4728], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x194]
lea esi, [edi + 0x47dc]
call fcn.100f24f0
push str.smg_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 + 0x4818]
call fcn.10073120
lea eax, [ebp - 0x204]
mov byte [edi + 0x4851], 1
push eax
lea ecx, [edi + 0x4870]
call fcn.10073120
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x4851], al
cmovne eax, ecx
mov dword [edi + 0x48a8], eax
lea ecx, [edi + 0x488c]
add eax, 8
mov dword [edi + 0x485c], 0x3f800000
mov dword [edi + 0x47ec], eax
mov dword [edi + 0x47f0], eax
lea eax, [ebp - 0x194]
push eax
mov dword [edi + 0x4860], 0x42c80000
mov dword [edi + 0x4858], 0x41700000
mov dword [edi + 0x486c], 0
mov dword [edi + 0x4864], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x47f4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x47e0], 0x14a
mov dword [edi + 0x47e8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x47f8], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.smg_minimal_damage_hp
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x48ac]
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 + 0x48e8]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [edi + 0x4921], 1
push eax
lea ecx, [edi + 0x4928]
call fcn.10073120
lea ecx, [ebp - 0x194]
mov byte [edi + 0x4924], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x48c4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x48b0], 0x14a
mov dword [edi + 0x48b8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x48c8], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x101ad6dc
lea ecx, [ebp - 0x178]
lea esi, [edi + 0x4944]
call fcn.100f24f0
push str.smg_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 + 0x4980]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x49b9], 1
push eax
lea ecx, [edi + 0x49d8]
call fcn.10073120
xor eax, eax
mov dword [edi + 0x49c4], 0x3f800000
cmp byte [edi + 0x49b9], al
mov ecx, 0xf
mov dword [edi + 0x49c8], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x49c0], 0x40a00000
mov dword [edi + 0x4a10], eax
lea ecx, [edi + 0x49f4]
add eax, 8
mov dword [edi + 0x49d4], 0
mov dword [edi + 0x4954], eax
mov dword [edi + 0x4958], eax
lea eax, [ebp - 0x178]
push eax
mov dword [edi + 0x49cc], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x495c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4948], 0x14a
mov dword [edi + 0x4950], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4960], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.smg_penetrate
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x4a14]
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 + 0x4a50]
call fcn.10073120
lea eax, [ebp - 0x178]
mov byte [edi + 0x4a89], 1
push eax
lea ecx, [edi + 0x4a90]
call fcn.10073120
mov byte [edi + 0x4a8c], 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], 0x10057cd0
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4a2c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4a18], 0x14a
mov dword [edi + 0x4a20], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4a30], 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.smg_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 + 0x4ae8]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x4b21], 1
push eax
lea ecx, [edi + 0x4b28]
call fcn.10073120
mov esi, dword [ebp - 0x94]
xor eax, eax
cmp byte [edi + 0x4b21], al
mov ecx, 0xf
cmovne eax, ecx
lea ecx, [edi + 0x4b44]
mov dword [edi + 0x4b5c], eax
add eax, 0x14
mov dword [edi + 0x4abc], eax
mov dword [edi + 0x4ac0], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x100c1c86
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100c1c70
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
call fcn.10041220
test eax, eax
je 0x100c1c99
mov dword [edi + 0x4b58], 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], 0x10057cd0
lea esi, [edi + 0x4aac]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4ac4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4ab0], 0x14a
mov dword [edi + 0x4ab8], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4ac8], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push str.smg_hitchance
lea ecx, [ebp - 0x1b0]
add edi, 0x4b60
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 + 0x4b9c]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [esi + 0x4bd5], 1
push eax
lea ecx, [esi + 0x4bdc]
call fcn.10073120
lea ecx, [ebp - 0x15c]
mov byte [esi + 0x4bd8], 0
call fcn.10042720
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10042720
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x10057cd0
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 + 0x4b78], 1
lea ecx, [esi + 0x1c]
mov dword [esi + 0x4b64], 0x14a
mov dword [esi + 0x4b6c], 0xfa
mov eax, dword [esi + 0x34]
mov dword [esi + 0x4b7c], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
call fcn.100ef1f0
push 0x1022c89c
lea ecx, [ebp - 0x194]
lea edi, [esi + 0x4bf8]
call fcn.100f24f0
push str.smg_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 + 0x4c34]
call fcn.10073120
lea eax, [ebp - 0x194]
mov byte [esi + 0x4c6d], 0
push eax
lea ecx, [esi + 0x4ca8]
mov dword [esi + 0x4cc4], 0
mov dword [esi + 0x4c08], 8
mov dword [esi + 0x4c0c], 8
mov dword [esi + 0x4c78], 0x3f800000
mov dword [esi + 0x4c7c], 0x42c80000
mov dword [esi + 0x4c74], 0x41a00000
mov dword [esi + 0x4c88], 0
mov dword [esi + 0x4c80], 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], 0x10057cd0
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 + 0x4c10], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4bfc], 0x14a
mov dword [edi + 0x4c04], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4c14], 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.smg_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 + 0x4d04]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x4d3d], 1
push eax
lea ecx, [edi + 0x4d44]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x4d3d], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x4d84], eax
add eax, 0x14
mov dword [edi + 0x4cd8], eax
mov dword [edi + 0x4cdc], eax
lea eax, [edi + 0x4d60]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100c208a
mov edi, eax
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100c2077
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 0x100c214f
lea esi, [edi + 0x4d74]
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 0x100c2128
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100c213d
mov eax, dword [edi + 0x4d38]
test eax, eax
je 0x100c213d
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100c20b0
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], 0x10057cd0
lea esi, [edi + 0x4cc8]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4ce0], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4ccc], 0x14a
mov dword [edi + 0x4cd4], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4ce4], 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.smg_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 + 0x4dc4]
call fcn.10073120
lea eax, [ebp - 0x15c]
mov byte [edi + 0x4dfd], 1
push eax
lea ecx, [edi + 0x4e04]
call fcn.10073120
mov esi, dword [ebp - 0x4c]
xor eax, eax
cmp byte [edi + 0x4dfd], al
mov ecx, 0xf
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x4e44], eax
add eax, 0x14
mov dword [edi + 0x4d98], eax
mov dword [edi + 0x4d9c], eax
lea eax, [edi + 0x4e20]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
cmp esi, ecx
je 0x100c2313
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10041290
add esi, 0x1c
cmp esi, dword [ebp - 0x34]
jne 0x100c2300
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 0x100c23d5
lea esi, [edi + 0x4e34]
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 0x100c23ae
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10072eb0
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x100c23c3
mov eax, dword [edi + 0x4df8]
test eax, eax
je 0x100c23c3
call eax
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jne 0x100c2336
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], 0x10057cd0
lea esi, [edi + 0x4d88]
lea ecx, [esi + 0x60]
push eax
call fcn.100ef420
mov dword [edi + 0x4da0], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4d8c], 0x14a
mov dword [edi + 0x4d94], 0xfa
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4da4], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], esi
call fcn.100ef1f0
push 0x1022ca90
lea ecx, [ebp - 0x1b0]
lea esi, [edi + 0x4e48]
call fcn.100f24f0
push str.smg_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 + 0x4e84]
call fcn.10073120
lea eax, [ebp - 0x1b0]
mov byte [edi + 0x4ebd], 0
push eax
lea ecx, [edi + 0x4ef8]
mov dword [edi + 0x4f14], 0
mov dword [edi + 0x4e58], 8
mov dword [edi + 0x4e5c], 8
mov dword [edi + 0x4ec8], 0x3f800000
mov dword [edi + 0x4ecc], 0x42c80000
mov dword [edi + 0x4ec4], 0x41700000
mov dword [edi + 0x4ed8], 0
mov dword [edi + 0x4ed0], 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], 0x10057cd0
push eax
lea ecx, [edi + 0x4ea8]
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