Function at 0x100018b0
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Execute shellcode via indirect call
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000e821
mov eax, dword fs:[0]
push eax
sub esp, 0xac4
mov eax, dword [0x10014018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
xor edi, edi
lea ecx, [ebp - 0x27e]
xor eax, eax
push edi
push ecx
mov word [ebp - 0x280], ax
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0xaac], edi
mov dword [ebp - 0xaa8], edi
mov dword [ebp - 0xaa4], edi
mov dword [ebp - 4], edi
or ebx, 0xffffffff
mov dword [ebp - 0xac8], ebx
mov dword [ebp - 0xac4], edi
mov dword [ebp - 0xac0], edi
mov dword [ebp - 0xabc], edi
mov dword [ebp - 0xab8], edi
push 0x104
lea edx, [ebp - 0x280]
push edx
push edi
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x280]
push eax
lea esi, [ebp - 0xac8]
call fcn.100087e0
test al, al
jne 0x100019d7
push 0x10
push 0x1000f34c
push str.Could_not_create_the_ProcessFileObject_object.
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0xac0]
cmp eax, edi
je 0x1000198b
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0xac0], edi
mov eax, dword [ebp - 0xac4]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
je 0x100019a4
push eax
call esi
mov dword [ebp - 0xac4], edi
mov eax, dword [ebp - 0xac8]
cmp eax, ebx
je 0x100019b7
push eax
call esi
mov dword [ebp - 0xac8], ebx
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0xabc], edi
mov dword [ebp - 0xab8], edi
cmp eax, edi
je 0x10002ac7
push eax
jmp 0x10002abe
mov ecx, dword [ebp - 0xac0]
mov eax, dword [ecx + 0x3c]
mov edx, dword [eax + ecx + 0x34]
mov esi, dword [eax + ecx + 0x2c]
mov ebx, dword [eax + ecx + 0x28]
add eax, ecx
add esi, edx
add ebx, edx
cmp ebx, esi
jne 0x10001a10
push 0x10
push 0x1000f34c
push str.Packed_client_unsupported
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, dword [eax + 0x38]
mov dword [ebp - 0xacc], ecx
mov ecx, dword [ebp - 0xabc]
mov dword [ebp - 0xab4], edx
mov edx, dword [eax + 0x30]
sub edx, dword [eax + 0x1c]
mov dword [ebp - 0xab0], ecx
mov ecx, dword [eax + 0x54]
sub edx, ecx
sub edi, ecx
movzx ecx, word [eax + 0x14]
mov dword [ebp - 0x24], edx
lea edx, [ecx + eax + 0x2c]
movzx ecx, word [eax + 6]
xor ebx, ebx
mov dword [ebp - 0xad0], edi
test ecx, ecx
jle 0x10001ab7
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], ecx
lea esp, [esp]
mov ecx, dword [ebp - 0x34]
add ebx, dword [ecx - 4]
mov esi, str..data
add ecx, 0xffffffec
mov edi, edi
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x10001a90
test dl, dl
je 0x10001a8c
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x10001a90
add ecx, 2
add esi, 2
test dl, dl
jne 0x10001a70
xor ecx, ecx
jmp 0x10001a95
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10001aae
mov edx, dword [ebp - 0x34]
mov edx, dword [edx]
test edx, edx
je 0x10001aae
mov ecx, dword [eax + 0x30]
sub ecx, edx
test ecx, ecx
jle 0x10001aae
mov dword [ebp - 0x24], ecx
add dword [ebp - 0x34], 0x28
dec dword [ebp - 0x14]
jne 0x10001a60
add ebx, dword [eax + 0x54]
sub ebx, dword [ebp - 0xabc]
test ebx, ebx
jle 0x10001acc
add edi, ebx
mov dword [ebp - 0xad0], edi
call fcn.1000d4b0
call fcn.1000c2c0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call esi
call fcn.1000c770
push 0x100016a0
push 0x1001679c
call fcn.1000c7f0
call fcn.1000c440
call fcn.1000d4b0
call fcn.1000c2c0
call esi
call fcn.1000c770
push 0x10001410
push 0x100168b8
call fcn.1000c7f0
call fcn.1000c440
call fcn.1000d4b0
call fcn.1000c2c0
call esi
call fcn.1000c770
push 0x10001660
push 0x10016784
call fcn.1000c7f0
call fcn.1000c440
cmp byte [0x100152a8], 0
mov bl, 0x90
je 0x10002646
mov ecx, dword [ebp - 0xacc]
xor eax, eax
push eax
mov eax, dword [ebp - 0xab0]
push eax
push ecx
push 8
xor edi, edi
push edi
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0xa90]
push eax
mov dword [ebp - 0x18], 0x74656956
mov dword [ebp - 0x14], 0x6d616e
mov dword [ebp - 0x38], 0x6c676e45
mov dword [ebp - 0x34], 0x687369
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea ecx, [ebp - 0xaac]
cmp ecx, esi
je 0x10001be9
mov eax, dword [ebp - 0xaac]
cmp eax, edi
je 0x10001bb5
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0xaac], edi
mov dword [ebp - 0xaa8], edi
mov dword [ebp - 0xaa4], edi
mov edx, dword [esi]
mov dword [ebp - 0xaac], edx
mov eax, dword [esi + 4]
mov dword [ebp - 0xaa8], eax
mov ecx, dword [esi + 8]
mov dword [ebp - 0xaa4], ecx
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xa90]
cmp eax, edi
je 0x10001c01
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub edx, eax
and edx, 0xfffffff8
cmp edx, 8
jne 0x10002646
mov edi, dword [eax]
mov ecx, dword [ebp - 0xacc]
add edi, dword [ebp - 0x24]
xor eax, eax
add edi, dword [ebp - 0xab4]
push eax
mov eax, dword [ebp - 0xab0]
push eax
push ecx
push edx
push 0
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0xa90]
push eax
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea ecx, [ebp - 0xaac]
cmp ecx, esi
je 0x10001ca5
mov ecx, dword [ebp - 0xaac]
xor eax, eax
cmp ecx, eax
je 0x10001c71
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
mov edx, dword [esi]
mov dword [ebp - 0xaac], edx
mov ecx, dword [esi + 4]
mov dword [ebp - 0xaa8], ecx
mov edx, dword [esi + 8]
mov dword [ebp - 0xaa4], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xa90]
test eax, eax
je 0x10001cbd
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
jne 0x10002646
mov esi, dword [eax]
mov edx, dword [ebp - 0xab0]
add esi, dword [ebp - 0x24]
xor eax, eax
add esi, dword [ebp - 0xab4]
push eax
mov eax, dword [ebp - 0xacc]
push edx
push eax
push 5
push 0
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0xa90]
push edx
mov byte [ebp - 0x18], 0xbe
mov dword [ebp - 0x17], edi
call fcn.100085b0
add esp, 0x1c
mov edi, eax
lea eax, [ebp - 0xaac]
xor ecx, ecx
cmp eax, edi
je 0x10001d69
mov eax, dword [ebp - 0xaac]
cmp eax, ecx
je 0x10001d35
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xaac], ecx
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xaa4], ecx
mov edx, dword [edi]
mov dword [ebp - 0xaac], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0xaa8], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xaa4], edx
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], ecx
je 0x10001d93
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xa90]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov edx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub edx, eax
and edx, 0xfffffff8
cmp edx, 8
jne 0x10002646
mov eax, dword [eax]
mov edi, dword [ebp - 0xad0]
mov edx, dword [ebp - 0xab0]
add eax, edi
add eax, dword [ebp - 0xab4]
mov dword [ebp - 0x17], esi
mov dword [0x1001567c], eax
xor eax, eax
push eax
mov eax, dword [ebp - 0xacc]
push edx
push eax
push 5
push ecx
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0xa90]
push edx
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea eax, [ebp - 0xaac]
mov byte [ebp - 4], 5
cmp eax, esi
je 0x10001e62
cmp dword [ebp - 0xaac], 0
je 0x10001e1d
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xaac]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Swap_all_struct_std::_Container_base0__]
mov edx, dword [esi]
mov dword [ebp - 0xaac], edx
mov eax, dword [esi + 4]
mov dword [ebp - 0xaa8], eax
mov ecx, dword [esi + 8]
xor eax, eax
mov dword [ebp - 0xaa4], ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], 0
je 0x10001e8b
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [ebp - 0xa90]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
jne 0x10002646
mov edx, dword [eax]
mov eax, dword [0x1001567c]
add eax, 0xe
add edx, edi
add edx, dword [ebp - 0xab4]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
push str.VSA:_0x_X_n
push 0x10015680
mov dword [0x10016740], edx
mov dword [0x1001567c], eax
call edi
add esp, 0xc
push str.windir
call dword [sym.imp.MSVCR100.dll__wgetenv]
add esp, 4
mov esi, eax
push 0x3a
push esi
call dword [sym.imp.MSVCR100.dll_wcschr]
add esp, 8
test eax, eax
je 0x10001efe
xor ecx, ecx
mov word [eax + 2], cx
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0xa7e]
push eax
mov word [ebp - 0xa80], dx
call sub.MSVCR100.dll_memset
add esp, 0xc
push esi
lea ecx, [ebp - 0xa80]
push str._sLoaderLog_pSRO.txt
push ecx
call edi
mov eax, dword [0x10016740]
add esp, 0xc
add eax, 0xe
push eax
push str.ESA:_0x_X_n
push 0x10015680
mov dword [0x10016740], eax
call edi
add esp, 0xc
push str.windir
call dword [sym.imp.MSVCR100.dll__wgetenv]
add esp, 4
mov esi, eax
push 0x3a
push esi
call dword [sym.imp.MSVCR100.dll_wcschr]
add esp, 8
test eax, eax
je 0x10001f71
xor edx, edx
mov word [eax + 2], dx
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0xa7e]
push ecx
mov word [ebp - 0xa80], ax
call sub.MSVCR100.dll_memset
add esp, 0xc
push esi
lea edx, [ebp - 0xa80]
push str._sLoaderLog_pSRO.txt
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [0x1001567c]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0xc
lea eax, [ebp - 0x34]
push eax
push 0x40
push 1
push edi
mov dword [ebp - 0x34], 0
call esi
mov cl, byte [edi]
neg eax
sbb eax, eax
neg eax
mov byte [0x10016744], cl
je 0x10001feb
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x34]
push edx
push eax
push 1
push edi
call esi
test eax, eax
je 0x10001feb
mov eax, 1
jmp 0x10001fed
xor eax, eax
test eax, eax
je 0x1000207d
mov edi, dword [0x1001567c]
lea ecx, [ebp - 0x34]
push ecx
push 0x40
push 1
push edi
mov dword [ebp - 0x34], 0
call esi
neg eax
sbb eax, eax
neg eax
mov cl, 0xeb
mov byte [edi], cl
je 0x1000207d
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x34]
push edx
push eax
push 1
push edi
call esi
test eax, eax
je 0x1000207d
push 1
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
test eax, eax
je 0x1000207d
mov edi, dword [0x10016740]
lea ecx, [ebp - 0x34]
push ecx
push 0x40
push 2
push edi
mov dword [ebp - 0x34], 0
call esi
mov dx, word [edi]
neg eax
sbb eax, eax
neg eax
mov word [0x10016748], dx
je 0x1000207d
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x34]
push eax
push ecx
push 2
push edi
call esi
test eax, eax
je 0x1000207d
mov al, 1
jmp 0x1000207f
xor al, al
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x33], bl
test al, al
je 0x100020d9
mov edi, dword [0x10016740]
lea edx, [ebp - 0x14]
push edx
push 0x40
push 2
push edi
mov dword [ebp - 0x14], 0
call esi
mov cx, word [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
mov word [edi], cx
je 0x100020d9
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x14]
push edx
push eax
push 2
push edi
call esi
test eax, eax
je 0x100020d9
push 2
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
test eax, eax
jne 0x10002161
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [ebp - 0xa9c]
call fcn.10008500
add esp, 4
push str.windir
call dword [sym.imp.MSVCR100.dll__wgetenv]
add esp, 4
mov esi, eax
push 0x3a
push esi
call dword [sym.imp.MSVCR100.dll_wcschr]
add esp, 8
test eax, eax
je 0x10002114
xor ecx, ecx
mov word [eax + 2], cx
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0xa7e]
push eax
mov word [ebp - 0xa80], dx
call sub.MSVCR100.dll_memset
add esp, 0xc
push esi
lea ecx, [ebp - 0xa80]
push str._sLoaderLog_pSRO.txt
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp dword [ebp - 0xa88], 8
jb 0x10002161
mov edx, dword [ebp - 0xa9c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, dword [ebp - 0xacc]
xor eax, eax
push eax
mov eax, dword [ebp - 0xab0]
push eax
push edi
push 0xb
push 0
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0xa90]
push edx
mov dword [ebp - 0x1c], 0x72616843
mov dword [ebp - 0x18], 0x656c6553
mov word [ebp - 0x14], 0x7463
mov byte [ebp - 0x12], 0
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea eax, [ebp - 0xaac]
mov byte [ebp - 4], 6
cmp eax, esi
je 0x10002217
cmp dword [ebp - 0xaac], 0
je 0x100021d2
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xaac]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Swap_all_struct_std::_Container_base0__]
mov edx, dword [esi]
mov dword [ebp - 0xaac], edx
mov eax, dword [esi + 4]
mov dword [ebp - 0xaa8], eax
mov ecx, dword [esi + 8]
xor eax, eax
mov dword [ebp - 0xaa4], ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], 0
je 0x10002240
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [ebp - 0xa90]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x1000226d
push str.Cannot_find_charSelect_sig
mov edx, 0x10015680
call fcn.100053f0
add esp, 4
jmp 0x10002641
mov eax, dword [eax]
add eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0xab0]
add eax, dword [ebp - 0xab4]
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0x17], eax
xor eax, eax
push eax
push edx
push edi
push 5
push eax
lea eax, [ebp - 0x18]
push eax
push ecx
mov byte [ebp - 0x18], 0x68
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea edx, [ebp - 0xaac]
mov byte [ebp - 4], 7
cmp edx, esi
je 0x10002316
cmp dword [ebp - 0xaac], 0
je 0x100022d1
mov ecx, edx
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xaac]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Swap_all_struct_std::_Container_base0__]
mov ecx, dword [esi]
mov dword [ebp - 0xaac], ecx
mov edx, dword [esi + 4]
mov dword [ebp - 0xaa8], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xaa4], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], 0
je 0x1000233f
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xa90]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub edx, eax
and edx, 0xfffffff8
cmp edx, 0x10
je 0x1000236c
push str.Cannot_find_charSelect_sig_push
mov edx, 0x10015680
call fcn.100053f0
add esp, 4
jmp 0x10002641
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xad0]
add eax, ecx
add eax, dword [ebp - 0xab4]
mov ecx, dword [ecx + edi + 0x16]
lea eax, [ecx + eax + 0x1a]
push eax
push str.GSF:_0x_p_n
push 0x10015680
mov dword [0x1001674c], eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
call fcn.10001320
mov ecx, dword [ebp - 0xab0]
xor eax, eax
push eax
push ecx
push edi
push 0x23
push eax
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0xa90]
push eax
mov dword [ebp - 0x60], 0x61656c50
mov dword [ebp - 0x5c], 0x45206573
mov dword [ebp - 0x58], 0x75636578
mov dword [ebp - 0x54], 0x74206574
mov dword [ebp - 0x50], 0x22206568
mov dword [ebp - 0x4c], 0x6b6c6953
mov dword [ebp - 0x48], 0x64616f72
mov dword [ebp - 0x44], 0x6578652e
mov word [ebp - 0x40], 0x222e
mov byte [ebp - 0x3e], 0
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea ecx, [ebp - 0xaac]
mov byte [ebp - 4], 8
cmp ecx, esi
je 0x1000247a
cmp dword [ebp - 0xaac], 0
je 0x10002435
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [ebp - 0xaac]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Swap_all_struct_std::_Container_base0__]
mov eax, dword [esi]
mov dword [ebp - 0xaac], eax
mov ecx, dword [esi + 4]
mov dword [ebp - 0xaa8], ecx
mov edx, dword [esi + 8]
xor eax, eax
mov dword [ebp - 0xaa4], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], 0
je 0x100024a3
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xa90]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x100024d0
push str.Cannot_find_launcher_sig
mov edx, 0x10015680
call fcn.100053f0
add esp, 4
jmp 0x10002641
mov eax, dword [eax]
add eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0xab0]
add eax, dword [ebp - 0xab4]
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0x17], eax
xor eax, eax
push eax
push edx
push edi
push 5
push eax
lea eax, [ebp - 0x18]
push eax
push ecx
mov byte [ebp - 0x18], 0x68
call fcn.100085b0
add esp, 0x1c
mov esi, eax
lea edx, [ebp - 0xaac]
mov byte [ebp - 4], 9
cmp edx, esi
je 0x10002579
cmp dword [ebp - 0xaac], 0
je 0x10002534
mov ecx, edx
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xaac]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Swap_all_struct_std::_Container_base0__]
mov ecx, dword [esi]
mov dword [ebp - 0xaac], ecx
mov edx, dword [esi + 4]
mov dword [ebp - 0xaa8], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xaa4], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa90], 0
je 0x100025a2
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xa90]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xaac]
sub edx, eax
and edx, 0xfffffff8
cmp edx, 8
je 0x100025cc
push str.Cannot_find_launcher_sig_push
mov edx, 0x10015680
call fcn.100053f0
add esp, 4
jmp 0x10002641
mov ecx, dword [eax]
mov eax, dword [ebp - 0xad0]
add eax, ecx
add eax, dword [ebp - 0xab4]
mov ecx, dword [ecx + edi + 0x6e]
add eax, 0x68
mov esi, eax
mov dword [ebp - 0x14], eax
mov dword [0x10015670], ecx
call fcn.100082f0
test al, al
jne 0x1000262a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [ebp - 0xa9c]
call fcn.10008500
add esp, 4
call fcn.10001320
cmp dword [ebp - 0xa88], 8
jb 0x1000262a
mov edx, dword [ebp - 0xa9c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
push str.CCLANG:_0x_.8X_n
push 0x10015680
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
call fcn.10001320
xor eax, eax
mov byte [ebp - 0x2c], bl
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], bl
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], bl
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], bl
mov byte [ebp - 0x25], bl
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x23], bl
mov byte [ebp - 0x22], bl
mov byte [ebp - 0x21], bl
mov byte [ebp - 0x3c], 0xc3
mov byte [ebp - 0x3b], bl
mov byte [ebp - 0x3a], bl
mov byte [ebp - 0x39], bl
mov byte [ebp - 0x38], bl
mov byte [ebp - 0x37], bl
mov byte [ebp - 0x36], bl
mov byte [ebp - 0x35], bl
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x33], bl
mov byte [ebp - 0x32], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x30], bl
mov dword [ebp - 0xa90], eax
mov dword [ebp - 0xa8c], eax
mov dword [ebp - 0xa88], eax
lea ecx, [ebp - 0x2c]
push ecx
push 5
mov byte [ebp - 4], 0xa
push 0xb
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x354ddae8
mov dword [ebp - 0x18], 0x24448d00
mov word [ebp - 0x14], 0x533c
mov byte [ebp - 0x12], 0x50
call fcn.10001110
mov ecx, eax
lea edi, [ebp - 0xa90]
mov byte [ebp - 4], 0xb
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea eax, [ebp - 0x2c]
push eax
push 5
push 0xb
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x34723fe8
mov dword [ebp - 0x18], 0x14c48300
mov word [ebp - 0x14], 0x4c8d
mov byte [ebp - 0x12], 0x24
call fcn.10001110
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea edx, [ebp - 0x3c]
push edx
push 5
push 8
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0xb7a0f068
mov dword [ebp - 0x14], 0x8f6e800
call fcn.10001110
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea ecx, [ebp - 0x2c]
push ecx
push 5
push 9
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xffc2c0e8
mov dword [ebp - 0x18], 0x34c483ff
mov byte [ebp - 0x14], 0x5f
call fcn.10001110
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea eax, [ebp - 0x18]
push eax
push 5
push 8
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], 0x68
mov byte [ebp - 0x27], bl
mov dword [ebp - 0x26], 0x5200015f
mov word [ebp - 0x22], 0xd6ff
mov word [ebp - 0x18], 0xff6a
mov byte [ebp - 0x16], bl
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], bl
call fcn.10001110
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea edx, [ebp - 0x18]
push edx
push 5
push 8
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], 0x68
mov byte [ebp - 0x27], bl
mov dword [ebp - 0x26], 0x5000015f
mov word [ebp - 0x22], 0xd6ff
call fcn.10001110
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
lea ecx, [ebp - 0x3c]
push ecx
push 6
push 0xb
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x800ec81
mov dword [ebp - 0x18], 0x56530000
mov word [ebp - 0x14], 0x3357
mov byte [ebp - 0x12], 0xd2
call fcn.10001110
mov byte [ebp - 4], 0x11
mov ecx, eax
call fcn.10004060
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.10002af0
mov ecx, dword [ebp - 0xa8c]
mov edi, dword [ebp - 0xa90]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x24], 0
je 0x1000299a
xor esi, esi
mov ebx, esi
lea esp, [esp]
mov eax, dword [esi + edi + 4]
sub eax, dword [esi + edi]
mov ecx, dword [esi + edi + 0x10]
mov edi, dword [esi + edi]
xor edx, edx
push edx
mov edx, dword [ebp - 0xab0]
push edx
mov edx, dword [ebp - 0xacc]
push edx
push eax
push ecx
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.100085b0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
sub ecx, eax
and ecx, 0xfffffff8
add esp, 0x1c
cmp ecx, 8
je 0x100028ff
push ebx
push str.XT_patch__d_::_size_____1_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
jmp 0x10002945
mov ebx, dword [eax]
mov eax, dword [ebp - 0xa90]
add ebx, dword [ebp - 0xad0]
mov ecx, dword [esi + eax + 0x20]
mov edi, dword [esi + eax + 0x24]
add ebx, dword [ebp - 0xab4]
sub edi, ecx
push ecx
call fcn.10008490
mov edx, dword [ebp - 0x24]
add esp, 4
push ebx
push edx
push str.xt_d:__.8X_n
mov edx, 0x10015680
call fcn.100053f0
add esp, 0xc
call fcn.10001320
mov ebx, dword [ebp - 0x24]
cmp dword [ebp - 0x20], 0
je 0x10002961
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xa8c]
mov edi, dword [ebp - 0xa90]
xor eax, eax
sub ecx, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
inc ebx
add ecx, edx
add esi, 0x30
mov dword [ebp - 0x24], ebx
cmp ebx, ecx
jb 0x100028b0
xor ebx, ebx
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x100029d6
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8c]
push edx
push eax
mov eax, dword [ebp - 0xa90]
call fcn.10005c90
mov ecx, dword [ebp - 0xa90]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 0xc
mov dword [ebp - 0xa90], ebx
mov dword [ebp - 0xa8c], ebx
mov dword [ebp - 0xa88], ebx
call fcn.10001320
mov edx, dword [ebp - 0xac0]
mov edi, dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp edx, ebx
je 0x10002a08
push edx
call edi
xor edx, edx
mov dword [ebp - 0xac0], edx
mov ecx, dword [ebp - 0xac4]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ecx, ebx
je 0x10002a29
push ecx
call esi
mov edx, dword [ebp - 0xac0]
xor ecx, ecx
mov dword [ebp - 0xac4], ecx
mov eax, dword [ebp - 0xac8]
cmp eax, 0xffffffff
je 0x10002a4c
push eax
call esi
mov edx, dword [ebp - 0xac0]
mov ecx, dword [ebp - 0xac4]
or eax, 0xffffffff
mov dword [ebp - 0xac8], eax
mov dword [ebp - 0xabc], ebx
mov dword [ebp - 0xab8], ebx
cmp edx, ebx
je 0x10002a71
push edx
call edi
mov ecx, dword [ebp - 0xac4]
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0xac0], ebx
cmp ecx, ebx
je 0x10002a84
push ecx
call esi
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0xac4], ebx
or edi, 0xffffffff
cmp eax, edi
je 0x10002a94
push eax
call esi
mov dword [ebp - 0xac8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xabc], ebx
mov dword [ebp - 0xab8], ebx
cmp dword [ebp - 0xaac], ebx
je 0x10002ac7
lea ecx, [ebp - 0xaac]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [ebp - 0xaac]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000d500
mov esp, ebp
pop ebp
ret