Function at 0x1015d518
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Parse pe header

Disassembly:
jmp 0x1034b5e0
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 0x1041d53e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa78
mov eax, dword [0x104e6584]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x740], 0
mov ecx, 0x104f753c
call fcn.1015f0d9
call fcn.1015eca1
movzx eax, byte [eax + 0x11]
test eax, eax
je 0x1034b6aa
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x724]
add edx, 0x10
mov dword [ebp - 0x6e0], edx
mov eax, dword [ebp - 0x6e0]
cmp dword [eax], 0
jne 0x1034b685
mov dword [ebp - 0xa60], 1
jmp 0x1034b68f
mov dword [ebp - 0xa60], 0
mov cl, byte [ebp - 0xa60]
mov byte [ebp - 0x6d9], cl
movzx edx, byte [ebp - 0x6d9]
test edx, edx
je 0x1034b72c
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0x734], eax
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
add edx, 0x10
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x72c]
cmp dword [eax], 0
jne 0x1034b6ea
mov dword [ebp - 0xa60], 1
jmp 0x1034b6f4
mov dword [ebp - 0xa60], 0
mov cl, byte [ebp - 0xa60]
mov byte [ebp - 0x725], cl
movzx edx, byte [ebp - 0x725]
test edx, edx
jne 0x1034b727
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x18]
add ecx, 0xe0
call fcn.1015cf5f
mov dword [ebp - 4], 0xffffffff
jmp 0x1034d9e3
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015dd6f
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0x4d4]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f075
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x6f0], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x6f0]
push eax
lea ecx, [ebp - 0x24]
call fcn.10160c59
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ecx + 8]
jne 0x1034b7af
mov dword [ebp - 0xa68], 1
jmp 0x1034b7b9
mov dword [ebp - 0xa68], 0
movzx eax, byte [ebp - 0xa68]
test eax, eax
jne 0x1034b7d0
mov dword [ebp - 0xa6c], 1
jmp 0x1034b7da
mov dword [ebp - 0xa6c], 0
mov cl, byte [ebp - 0xa6c]
mov byte [ebp - 0x4c5], cl
mov byte [ebp - 4], 1
mov byte [ebp - 4], 3
push 3
lea ecx, [ebp - 0x64]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x4d4]
call fcn.1015c59b
lea ecx, [ebp - 0x64]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
movzx edx, byte [ebp - 0x4c5]
test edx, edx
je 0x1034b9e8
lea ecx, [ebp - 0x24]
call fcn.1015fc3c
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x738]
movss xmm0, dword [ecx + 8]
addss xmm0, dword [0x1042d1f8]
movss dword [ebp - 0xa60], xmm0
call fcn.1015c753
mov edx, dword [eax + 0xe0]
movss xmm0, dword [edx + 0x10]
movss xmm1, dword [ebp - 0xa60]
comiss xmm0, xmm1
jbe 0x1034b919
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x4d8], esp
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x6c]
mov dword [edx], 0
mov eax, dword [ebp - 0x6c]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x6c]
call fcn.1015de4b
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x4e4]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f4]
push eax
lea ecx, [ebp - 0x24]
call fcn.1015c24e
mov byte [ebp - 4], 4
push 3
lea ecx, [ebp - 0x74]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x4e4]
call fcn.1015c59b
lea ecx, [ebp - 0x74]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
jmp 0x1034b9e3
lea eax, [ebp - 0x750]
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x78]
call fcn.10160add
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xa60], edx
mov eax, dword [ebp - 0x748]
add eax, 1
mov dword [ebp - 0x748], eax
lea ecx, [ebp - 0x750]
push ecx
lea ecx, [ebp - 0x4f4]
call fcn.1015f6a1
mov dword [ebp - 0x6f8], eax
mov edx, dword [ebp - 0x740]
or edx, 2
mov dword [ebp - 0x740], edx
mov byte [ebp - 4], 5
push 3
lea ecx, [ebp - 0x7c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x750]
call fcn.1015c59b
lea ecx, [ebp - 0x7c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x4f4]
mov dword [ebp - 0xa64], eax
mov ecx, dword [ebp - 0x6f8]
push ecx
lea ecx, [ebp - 0x24]
call fcn.1015c24e
and dword [ebp - 0x740], 0xfffffffd
mov byte [ebp - 4], 6
push 3
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x4f4]
call fcn.1015c59b
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
jmp 0x1034b750
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 7
push 3
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x24]
call fcn.1015c59b
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015dd6f
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0x504]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f075
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x6fc], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x30]
call fcn.10160c59
mov ecx, dword [ebp - 0x6fc]
mov edx, dword [ebp - 0x28]
cmp edx, dword [ecx + 8]
jne 0x1034baa2
mov dword [ebp - 0xa68], 1
jmp 0x1034baac
mov dword [ebp - 0xa68], 0
movzx eax, byte [ebp - 0xa68]
test eax, eax
jne 0x1034bac3
mov dword [ebp - 0xa6c], 1
jmp 0x1034bacd
mov dword [ebp - 0xa6c], 0
mov cl, byte [ebp - 0xa6c]
mov byte [ebp - 0x4f5], cl
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xa
push 3
lea ecx, [ebp - 0x98]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x504]
call fcn.1015c59b
lea ecx, [ebp - 0x98]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
movzx edx, byte [ebp - 0x4f5]
test edx, edx
je 0x1034d9ac
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x76c], eax
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
movzx edx, byte [ecx + 0x30]
test edx, edx
je 0x1034d928
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x770], eax
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x764], eax
mov ecx, dword [ebp - 0x764]
movzx edx, byte [ecx + 0x31]
test edx, edx
jne 0x1034d928
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x758], eax
mov eax, dword [ebp - 0x758]
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x760]
movzx edx, byte [ecx + 0x32]
test edx, edx
je 0x1034d928
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0
jne 0x1034bc84
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x508], esp
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x9c]
mov dword [edx], 0
mov eax, dword [ebp - 0x9c]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x9c]
call fcn.1015de4b
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x514]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x700]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0xb
push 3
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x514]
call fcn.1015c59b
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
mov eax, dword [0x104edfac]
sub eax, 0x2c
xor eax, 0x2d2a0022
mov dword [ebp - 0x778], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x778]
cmp dword [ecx], 0
jne 0x1034bcb1
mov dword [ebp - 0xa60], 1
jmp 0x1034bcbb
mov dword [ebp - 0xa60], 0
movzx edx, byte [ebp - 0xa60]
test edx, edx
jne 0x1034bd82
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x518], esp
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0xa8]
mov dword [edx], 0
mov eax, dword [ebp - 0xa8]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0xa8]
call fcn.1015de4b
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x524]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x704]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0xc
push 3
lea ecx, [ebp - 0xb0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x524]
call fcn.1015c59b
lea ecx, [ebp - 0xb0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
call fcn.1015c064
add eax, 0x9c
mov dword [ebp - 0xa60], eax
lea eax, [ebp - 0x788]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x34]
add ecx, 8
mov edx, dword [ebp - 0xb4]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xa64], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ecx]
mov dword [ebp - 0x784], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x784]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0x34]
add edx, 8
mov dword [ebp - 0xa70], edx
mov ecx, dword [ebp - 0xa70]
call dword [ebp - 0xa6c]
sub eax, 1
mov dword [ebp - 0xa74], eax
mov eax, dword [ebp - 0xa74]
push eax
mov ecx, dword [ebp - 0xa60]
call fcn.1015c3d4
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x1034beed
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x528], esp
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
mov dword [edx], 0
mov eax, dword [ebp - 0xb8]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.1015de4b
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x534]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x708]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0xd
push 3
lea ecx, [ebp - 0xc0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x534]
call fcn.1015c59b
lea ecx, [ebp - 0xc0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x790], eax
mov eax, dword [ebp - 0x790]
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ecx + 4]
cmp dword [edx + 0x3c4], 0
jne 0x1034c392
call fcn.1015f688
mov dword [ebp - 0x594], eax
mov eax, dword [0x104eeedc]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x558]
mov dword [ebp - 0x55c], edx
push str.Missed_shot_due_to_invalid_target_n
lea ecx, [ebp - 0x550]
call fcn.1015c591
mov byte [ebp - 4], 0xe
movss xmm0, dword [0x10430b00]
movss dword [ebp - 0xcc], xmm0
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x594]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp - 0x594]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x594]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x7ac]
push ecx
call fcn.1016060a
add esp, 8
mov edx, dword [ebp - 0x740]
or edx, 0x20
mov dword [ebp - 0x740], edx
lea eax, [ebp - 0x7ac]
mov dword [ebp - 0x828], eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xa60], 0x1042e95c
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa60]
mov al, byte [edx]
mov byte [ebp - 0xa65], al
add dword [ebp - 0xa60], 1
cmp byte [ebp - 0xa65], 0
jne 0x1034bfed
mov ecx, dword [ebp - 0xa60]
sub ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x808]
push eax
push 0x1042e95c
push 0
mov ecx, dword [ebp - 0x828]
call fcn.1015fb97
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x800]
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x804]
push edx
lea ecx, [ebp - 0x7c8]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x40
mov dword [ebp - 0x740], eax
lea ecx, [ebp - 0x7c8]
mov dword [ebp - 0x82c], ecx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xa70], 0x1042e958
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0xa70]
mov cl, byte [eax]
mov byte [ebp - 0xa75], cl
add dword [ebp - 0xa70], 1
cmp byte [ebp - 0xa75], 0
jne 0x1034c09e
mov edx, dword [ebp - 0xa70]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x810]
push ecx
push 0x1042e958
mov ecx, dword [ebp - 0x82c]
call fcn.10160952
mov dword [ebp - 0x80c], eax
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x7fc], edx
mov eax, dword [ebp - 0x7fc]
push eax
lea ecx, [ebp - 0x7e4]
call fcn.1015d8b5
mov ecx, dword [ebp - 0x740]
or ecx, 0x80
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0x7e4]
mov dword [ebp - 0x830], edx
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x830]
call fcn.1015ee5e
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x818], ecx
mov edx, dword [ebp - 0x818]
push edx
lea ecx, [ebp - 0xe8]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x100
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x7e4]
call fcn.1015e24c
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x7e4]
call fcn.1015f011
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x7c8]
call fcn.1015e24c
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c8]
call fcn.1015f011
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x7ac]
call fcn.1015e24c
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x7ac]
call fcn.1015f011
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x824], ecx
lea edx, [ebp - 0xcc]
push edx
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xe8]
push ecx
lea edx, [ebp - 0x7ec]
push edx
call fcn.1015d81f
add esp, 0x10
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x834], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x834]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x7f8]
push edx
mov ecx, dword [ebp - 0x824]
call fcn.1015f1b0
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x7e8], 0
je 0x1034c258
mov ecx, dword [ebp - 0x7e8]
call fcn.1015e332
mov byte [ebp - 4], 0x19
mov eax, 1
test eax, eax
je 0x1034c296
call fcn.1015eca1
mov dword [ebp - 0xa84], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7f0], esp
lea edx, [ebp - 0xe8]
push edx
call fcn.1015f2af
mov eax, dword [ebp - 0xa84]
push eax
call fcn.1015d487
add esp, 0x20
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xe8]
call fcn.1015e24c
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xe8]
call fcn.1015f011
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x550]
call fcn.1015e24c
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x550]
call fcn.1015f011
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x560], esp
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
mov dword [edx], 0
mov eax, dword [ebp - 0xf4]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0xf4]
call fcn.1015de4b
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x56c]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x70c], edx
mov eax, dword [ebp - 0x70c]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0x22
push 3
lea ecx, [ebp - 0xfc]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x56c]
call fcn.1015c59b
lea ecx, [ebp - 0xfc]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x814], eax
mov ecx, dword [ebp - 0x814]
add ecx, 0x14
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x40], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x820]
add ecx, 0x20
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp - 0x598]
movss xmm0, dword [edx]
subss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x100], xmm0
mov eax, dword [ebp - 0x598]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x104], xmm0
mov ecx, dword [ebp - 0x598]
movss xmm0, dword [ecx + 8]
subss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x574], xmm0
movss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x570], xmm0
lea edx, [ebp - 0x578]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x59c]
mov ecx, dword [eax]
mov dword [ebp - 0x114], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x110], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x10c], eax
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x114]
movss xmm1, dword [ebp - 0x110]
mulss xmm1, dword [ebp - 0x110]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x10c]
mulss xmm1, dword [ebp - 0x10c]
addss xmm0, xmm1
movss dword [ebp - 0x840], xmm0
cvtss2sd xmm0, dword [ebp - 0x840]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101609c0
add esp, 8
fstp dword [ebp - 0xa60]
fld dword [ebp - 0xa60]
fstp dword [ebp - 0x844]
movss xmm0, dword [ebp - 0x844]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x114]
movss xmm1, dword [ebp - 0x110]
mulss xmm1, dword [ebp - 0x110]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x10c]
mulss xmm1, dword [ebp - 0x10c]
addss xmm0, xmm1
movss dword [ebp - 0x848], xmm0
cvtss2sd xmm0, dword [ebp - 0x848]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101609c0
add esp, 8
fstp dword [ebp - 0xa64]
fld dword [ebp - 0xa64]
fstp dword [ebp - 0x84c]
movss xmm0, dword [0x1042d1d0]
movss dword [ebp - 0x83c], xmm0
movss xmm0, dword [ebp - 0x84c]
addss xmm0, dword [ebp - 0x83c]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x114]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x110]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x10c]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x10c], xmm0
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
mov edx, dword [ecx + 4]
add edx, 0x20
mov dword [ebp - 0x134], edx
xorps xmm0, xmm0
movss dword [ebp - 0x12c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x128], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x124], xmm0
mov eax, dword [ebp - 0x134]
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [eax]
movss dword [ebp - 0x12c], xmm0
mov ecx, dword [ebp - 0x134]
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ecx + 4]
movss dword [ebp - 0x128], xmm0
mov edx, dword [ebp - 0x134]
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [edx + 8]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x12c]
mulss xmm0, dword [ebp - 0x12c]
movss xmm1, dword [ebp - 0x128]
mulss xmm1, dword [ebp - 0x128]
addss xmm0, xmm1
movss dword [ebp - 0x858], xmm0
cvtss2sd xmm0, dword [ebp - 0x858]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101609c0
add esp, 8
fstp dword [ebp - 0xa60]
fld dword [ebp - 0xa60]
fstp dword [ebp - 0x85c]
movss xmm0, dword [ebp - 0x50]
mulss xmm0, dword [ebp - 0x85c]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x4c]
mulss xmm0, dword [ebp - 0x85c]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x48]
mulss xmm0, dword [ebp - 0x85c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x584], xmm0
movss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x580], xmm0
movss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x57c], xmm0
lea eax, [ebp - 0x584]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5a0]
movss xmm0, dword [ecx]
mulss xmm0, dword [0x104508a0]
movss dword [ebp - 0x144], xmm0
mov edx, dword [ebp - 0x5a0]
movss xmm0, dword [edx + 4]
mulss xmm0, dword [0x104508a0]
movss dword [ebp - 0x148], xmm0
mov eax, dword [ebp - 0x5a0]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x104508a0]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x590], xmm0
movss xmm0, dword [ebp - 0x148]
movss dword [ebp - 0x58c], xmm0
movss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x588], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x590]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x58c]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x588]
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x150]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x158]
movss dword [ebp - 0x54], xmm0
call fcn.1015c064
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x860], eax
mov ecx, dword [ebp - 0x860]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0xa64], edx
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x864]
mov dword [ebp - 0x86c], eax
mov ecx, dword [ebp - 0x86c]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0xa68], edx
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x868], eax
mov eax, dword [ebp - 0x868]
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xa6c], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5fc], ecx
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x5fc]
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x5f8]
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5ac]
mov dword [ebp - 0x5bc], ecx
mov edx, dword [ebp - 0x5a8]
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5c0]
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5bc]
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x610], eax
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x5c8]
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0xa64]
push eax
push 1
mov ecx, dword [ebp - 0xa68]
push ecx
mov edx, dword [ebp - 0xa6c]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x620]
mov dword [eax], ecx
mov edx, dword [ebp - 0x61c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x618]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x610]
mov dword [edx], eax
mov ecx, dword [ebp - 0x60c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x608]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xa60]
call fcn.1015e1de
movzx ecx, al
test ecx, ecx
jne 0x1034cec5
call fcn.1015f688
mov dword [ebp - 0x6e4], eax
mov eax, dword [0x104eeedc]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x648], edx
push str.Missed_shot_due_to_spread_n
lea ecx, [ebp - 0x63c]
call fcn.1015c591
mov byte [ebp - 4], 0x23
movss xmm0, dword [0x10430b00]
movss dword [ebp - 0x160], xmm0
mov eax, dword [ebp - 0x648]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x6e4]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp - 0x6e4]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x6e4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
push eax
lea ecx, [ebp - 0x88c]
push ecx
call fcn.1016060a
add esp, 8
mov edx, dword [ebp - 0x740]
or edx, 0x400
mov dword [ebp - 0x740], edx
lea eax, [ebp - 0x88c]
mov dword [ebp - 0x8f8], eax
mov byte [ebp - 4], 0x24
mov dword [ebp - 0xa60], 0x1042e95c
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa60]
mov al, byte [edx]
mov byte [ebp - 0xa65], al
add dword [ebp - 0xa60], 1
cmp byte [ebp - 0xa65], 0
jne 0x1034cb1e
mov ecx, dword [ebp - 0xa60]
sub ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x8e4]
push eax
push 0x1042e95c
push 0
mov ecx, dword [ebp - 0x8f8]
call fcn.1015fb97
mov dword [ebp - 0x8dc], eax
mov ecx, dword [ebp - 0x8dc]
mov dword [ebp - 0x8e0], ecx
mov edx, dword [ebp - 0x8e0]
push edx
lea ecx, [ebp - 0x8a8]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x800
mov dword [ebp - 0x740], eax
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x8fc], ecx
mov byte [ebp - 4], 0x25
mov dword [ebp - 0xa70], 0x1042e958
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0xa70]
mov cl, byte [eax]
mov byte [ebp - 0xa75], cl
add dword [ebp - 0xa70], 1
cmp byte [ebp - 0xa75], 0
jne 0x1034cbd1
mov edx, dword [ebp - 0xa70]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0x8ec]
push ecx
push 0x1042e958
mov ecx, dword [ebp - 0x8fc]
call fcn.10160952
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0x8c4]
call fcn.1015d8b5
mov ecx, dword [ebp - 0x740]
or ecx, 0x1000
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0x8c4]
mov dword [ebp - 0x900], edx
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x63c]
push eax
mov ecx, dword [ebp - 0x900]
call fcn.1015ee5e
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x908], ecx
mov edx, dword [ebp - 0x908]
push edx
lea ecx, [ebp - 0x17c]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x2000
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x8c4]
call fcn.1015e24c
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x8c4]
call fcn.1015f011
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x8a8]
call fcn.1015e24c
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x8a8]
call fcn.1015f011
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x88c]
call fcn.1015e24c
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x88c]
call fcn.1015f011
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x8f4], ecx
lea edx, [ebp - 0x160]
push edx
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x17c]
push ecx
lea edx, [ebp - 0x8cc]
push edx
call fcn.1015d81f
add esp, 0x10
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x904], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x8d4], ecx
mov edx, dword [ebp - 0x8d4]
push edx
mov ecx, dword [ebp - 0x8f4]
call fcn.1015f1b0
mov byte [ebp - 4], 0x32
cmp dword [ebp - 0x8c8], 0
je 0x1034cd8b
mov ecx, dword [ebp - 0x8c8]
call fcn.1015e332
mov byte [ebp - 4], 0x2e
mov eax, 1
test eax, eax
je 0x1034cdc9
call fcn.1015eca1
mov dword [ebp - 0xa84], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8d0], esp
lea edx, [ebp - 0x17c]
push edx
call fcn.1015f2af
mov eax, dword [ebp - 0xa84]
push eax
call fcn.1015d487
add esp, 0x20
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x17c]
call fcn.1015e24c
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x17c]
call fcn.1015f011
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x63c]
call fcn.1015e24c
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x63c]
call fcn.1015f011
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x64c], esp
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x18c]
mov dword [edx], 0
mov eax, dword [ebp - 0x18c]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.1015de4b
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x658]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x710]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0x37
push 3
lea ecx, [ebp - 0x194]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x658]
call fcn.1015c59b
lea ecx, [ebp - 0x194]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
lea eax, [ebp - 0x918]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x34]
add ecx, 8
mov edx, dword [ebp - 0x198]
mov dword [edx], ecx
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x918]
mov edx, dword [ecx]
mov dword [ebp - 0x914], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x914]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x910], edx
mov eax, dword [ebp - 0x910]
mov dword [ebp - 0xa64], eax
mov ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa68], ecx
mov edx, dword [ebp - 0x34]
add edx, 8
mov dword [ebp - 0xa6c], edx
mov ecx, dword [ebp - 0xa6c]
call dword [ebp - 0xa68]
mov dword [ebp - 0x8f0], eax
call fcn.1015c753
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x994], eax
lea ecx, [ebp - 0x930]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x994]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0xa70], ecx
mov edx, dword [ebp - 0x930]
mov eax, dword [edx]
mov dword [ebp - 0x92c], eax
mov ecx, 8
shl ecx, 2
mov edx, dword [ebp - 0x92c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x928], eax
mov ecx, dword [ebp - 0x928]
mov dword [ebp - 0xa74], ecx
mov edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa78], edx
lea eax, [ebp - 0x2f0]
push eax
mov ecx, dword [ebp - 0x8f0]
push ecx
mov ecx, dword [ebp - 0x994]
call dword [ebp - 0xa78]
movzx edx, al
test edx, edx
je 0x1034cfe6
mov al, byte [ebp - 0x1b4]
mov byte [ebp - 0x5d], al
jmp 0x1034cfea
mov byte [ebp - 0x5d], 0
lea ecx, [ebp - 0x30]
call fcn.1015fc3c
mov dword [ebp - 0x920], eax
mov eax, dword [ebp - 0x920]
mov dword [ebp - 0x91c], eax
mov ecx, dword [ebp - 0x91c]
mov edx, dword [ecx + 4]
movzx eax, byte [edx + 0x3f1]
test eax, eax
jne 0x1034d4b1
movzx eax, byte [ebp - 0x5d]
test eax, eax
jne 0x1034d4b1
call fcn.1015f688
mov dword [ebp - 0x6e8], eax
mov eax, dword [0x104eeedc]
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x678]
mov dword [ebp - 0x67c], ecx
mov edx, dword [ebp - 0x67c]
mov dword [ebp - 0x680], edx
push str.Missed_shot_due_to_resolver_n
lea ecx, [ebp - 0x674]
call fcn.1015c591
mov byte [ebp - 4], 0x38
movss xmm0, dword [0x10430b00]
movss dword [ebp - 0x304], xmm0
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x6e8]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp - 0x6e8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x6e8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x328], edx
mov eax, dword [ebp - 0x328]
push eax
lea ecx, [ebp - 0x94c]
push ecx
call fcn.1016060a
add esp, 8
mov edx, dword [ebp - 0x740]
or edx, 0x8000
mov dword [ebp - 0x740], edx
lea eax, [ebp - 0x94c]
mov dword [ebp - 0x99c], eax
mov byte [ebp - 4], 0x39
mov dword [ebp - 0xa60], 0x1042e95c
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa60]
mov al, byte [edx]
mov byte [ebp - 0xa65], al
add dword [ebp - 0xa60], 1
cmp byte [ebp - 0xa65], 0
jne 0x1034d0fb
mov ecx, dword [ebp - 0xa60]
sub ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x9bc], edx
mov eax, dword [ebp - 0x9bc]
push eax
push 0x1042e95c
push 0
mov ecx, dword [ebp - 0x99c]
call fcn.1015fb97
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b8]
push edx
lea ecx, [ebp - 0x968]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x10000
mov dword [ebp - 0x740], eax
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x9a0], ecx
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0xa70], 0x1042e958
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0xa70]
mov cl, byte [eax]
mov byte [ebp - 0xa75], cl
add dword [ebp - 0xa70], 1
cmp byte [ebp - 0xa75], 0
jne 0x1034d1ae
mov edx, dword [ebp - 0xa70]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c4]
push ecx
push 0x1042e958
mov ecx, dword [ebp - 0x9a0]
call fcn.10160952
mov dword [ebp - 0x9c0], eax
mov edx, dword [ebp - 0x9c0]
mov dword [ebp - 0x9b0], edx
mov eax, dword [ebp - 0x9b0]
push eax
lea ecx, [ebp - 0x984]
call fcn.1015d8b5
mov ecx, dword [ebp - 0x740]
or ecx, 0x20000
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0x984]
mov dword [ebp - 0x9a4], edx
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x674]
push eax
mov ecx, dword [ebp - 0x9a4]
call fcn.1015ee5e
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
push edx
lea ecx, [ebp - 0x324]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x40000
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x984]
call fcn.1015e24c
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x984]
call fcn.1015f011
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x968]
call fcn.1015e24c
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x968]
call fcn.1015f011
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x94c]
call fcn.1015e24c
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x94c]
call fcn.1015f011
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x6e8]
mov dword [ebp - 0x998], ecx
lea edx, [ebp - 0x304]
push edx
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x98c]
push edx
call fcn.1015d81f
add esp, 0x10
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x9a8], eax
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x9ac], ecx
mov edx, dword [ebp - 0x9ac]
push edx
mov ecx, dword [ebp - 0x998]
call fcn.1015f1b0
mov byte [ebp - 4], 0x47
cmp dword [ebp - 0x988], 0
je 0x1034d368
mov ecx, dword [ebp - 0x988]
call fcn.1015e332
mov byte [ebp - 4], 0x43
mov eax, 1
test eax, eax
je 0x1034d3a6
call fcn.1015eca1
mov dword [ebp - 0xa84], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x990], esp
lea edx, [ebp - 0x324]
push edx
call fcn.1015f2af
mov eax, dword [ebp - 0xa84]
push eax
call fcn.1015d487
add esp, 0x20
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x324]
call fcn.1015e24c
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x324]
call fcn.1015f011
mov byte [ebp - 4], 0x38
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x674]
call fcn.1015e24c
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x674]
call fcn.1015f011
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [ebp - 0x38]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x684], esp
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp - 0x32c]
mov dword [edx], 0
mov eax, dword [ebp - 0x32c]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x32c]
call fcn.1015de4b
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x690]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x714]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0x4c
push 3
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x690]
call fcn.1015c59b
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
call fcn.1015f688
mov dword [ebp - 0x6ec], eax
mov eax, dword [0x104eeedc]
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x6b0]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
mov dword [ebp - 0x6b8], edx
push str.Missed_shot_due_to_wrong_angles_calculation_n
lea ecx, [ebp - 0x6ac]
call fcn.1015c591
mov byte [ebp - 4], 0x4d
movss xmm0, dword [0x10430b00]
movss dword [ebp - 0x33c], xmm0
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x6ec]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp - 0x6ec]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x6ec]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
push eax
lea ecx, [ebp - 0x9e4]
push ecx
call fcn.1016060a
add esp, 8
mov edx, dword [ebp - 0x740]
or edx, 0x100000
mov dword [ebp - 0x740], edx
lea eax, [ebp - 0x9e4]
mov dword [ebp - 0xa34], eax
mov byte [ebp - 4], 0x4e
mov dword [ebp - 0xa60], 0x1042e95c
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa60]
mov al, byte [edx]
mov byte [ebp - 0xa65], al
add dword [ebp - 0xa60], 1
cmp byte [ebp - 0xa65], 0
jne 0x1034d584
mov ecx, dword [ebp - 0xa60]
sub ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0xa50]
push eax
push 0x1042e95c
push 0
mov ecx, dword [ebp - 0xa34]
call fcn.1015fb97
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa48]
mov dword [ebp - 0xa4c], ecx
mov edx, dword [ebp - 0xa4c]
push edx
lea ecx, [ebp - 0xa00]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x200000
mov dword [ebp - 0x740], eax
lea ecx, [ebp - 0xa00]
mov dword [ebp - 0xa38], ecx
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0xa70], 0x1042e958
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0xa70]
mov cl, byte [eax]
mov byte [ebp - 0xa75], cl
add dword [ebp - 0xa70], 1
cmp byte [ebp - 0xa75], 0
jne 0x1034d637
mov edx, dword [ebp - 0xa70]
sub edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0xa58], eax
mov ecx, dword [ebp - 0xa58]
push ecx
push 0x1042e958
mov ecx, dword [ebp - 0xa38]
call fcn.10160952
mov dword [ebp - 0xa54], eax
mov edx, dword [ebp - 0xa54]
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0xa44]
push eax
lea ecx, [ebp - 0xa1c]
call fcn.1015d8b5
mov ecx, dword [ebp - 0x740]
or ecx, 0x400000
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0xa1c]
mov dword [ebp - 0xa3c], edx
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x6ac]
push eax
mov ecx, dword [ebp - 0xa3c]
call fcn.1015ee5e
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0xa5c], ecx
mov edx, dword [ebp - 0xa5c]
push edx
lea ecx, [ebp - 0x358]
call fcn.1015d8b5
mov eax, dword [ebp - 0x740]
or eax, 0x800000
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0xa1c]
call fcn.1015e24c
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xa1c]
call fcn.1015f011
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0xa00]
call fcn.1015e24c
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0xa00]
call fcn.1015f011
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x9e4]
call fcn.1015e24c
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x9e4]
call fcn.1015f011
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0xa30], ecx
lea edx, [ebp - 0x33c]
push edx
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp - 0x358]
push ecx
lea edx, [ebp - 0xa24]
push edx
call fcn.1015d81f
add esp, 0x10
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0xa40], eax
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0xa40]
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa2c]
push edx
mov ecx, dword [ebp - 0xa30]
call fcn.1015f1b0
mov byte [ebp - 4], 0x5c
cmp dword [ebp - 0xa20], 0
je 0x1034d7f1
mov ecx, dword [ebp - 0xa20]
call fcn.1015e332
mov byte [ebp - 4], 0x58
mov eax, 1
test eax, eax
je 0x1034d82f
call fcn.1015eca1
mov dword [ebp - 0xa84], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa28], esp
lea edx, [ebp - 0x358]
push edx
call fcn.1015f2af
mov eax, dword [ebp - 0xa84]
push eax
call fcn.1015d487
add esp, 0x20
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x358]
call fcn.1015e24c
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x358]
call fcn.1015f011
mov byte [ebp - 4], 0x4d
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x6ac]
call fcn.1015e24c
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x6ac]
call fcn.1015f011
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
add eax, 0xe0
mov dword [ebp - 0xa60], eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x6bc], esp
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x368]
mov dword [edx], 0
mov eax, dword [ebp - 0x368]
mov dword [eax + 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x368]
call fcn.1015de4b
mov edx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x6c8]
push ecx
mov ecx, dword [ebp - 0xa60]
call fcn.1015f12e
mov dword [ebp - 0xa64], eax
mov edx, dword [ebp - 0xa64]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x718]
push eax
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0x61
push 3
lea ecx, [ebp - 0x370]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x6c8]
call fcn.1015c59b
lea ecx, [ebp - 0x370]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034d9a7
push 1
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x6cc], esp
mov dword [ebp - 0x374], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x374]
call fcn.10160add
lea edx, [ebp - 0x6d8]
push edx
call fcn.1015c75d
add esp, 0x14
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa60]
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0x71c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.1015c24e
mov byte [ebp - 4], 0x62
push 3
lea ecx, [ebp - 0x37c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x6d8]
call fcn.1015c59b
lea ecx, [ebp - 0x37c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 8
jmp 0x1034ba43
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x63
push 3
lea ecx, [ebp - 0x384]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x30]
call fcn.1015c59b
lea ecx, [ebp - 0x384]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
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.1015ebf2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret