Function at 0x10005a7b
Capabilities:
Acquire debug privileges
Encode data using xor

Disassembly:
push ebp
sub esp, 0x58c
lea ebp, [esp - 4]
mov eax, dword [0x1001ff40]
xor eax, ebp
mov dword [ebp + 0x58c], eax
push 0x30
mov eax, 0x1001726e
call fcn.1000b082
cmp dword [ebp + 0x59c], 1
mov esi, dword [ebp + 0x598]
mov dword [ebp - 0x2c], esi
jne 0x100062fe
push str.DllMain
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBeginUltra]
push esi
call fcn.1000161d
xor ebx, ebx
push ebx
call fcn.100016de
pop ecx
pop ecx
mov edi, 0x104
cmp eax, ebx
je 0x10005aea
push edi
lea ecx, [ebp + 0x448]
push ecx
push eax
call fcn.10001712
add esp, 0xc
lea eax, [ebp + 0x448]
push 0x5c
push eax
call fcn.1000a8a0
lea ecx, [ebp + 0x448]
sub eax, ecx
push edi
mov esi, eax
lea eax, [ebp + 0x344]
push ebx
push eax
call fcn.1000afa0
push esi
lea eax, [ebp + 0x448]
push eax
lea eax, [ebp + 0x344]
push eax
call fcn.1000a3e0
lea eax, [ebp + 0x344]
push eax
call fcn.100019d4
mov edi, dword [sym.imp.VMProtectSDK32.dll_VMProtectDecryptStringA]
add esp, 0x24
push str.GetCommandLineW
call edi
push eax
push str.kernel32.dll
call edi
push eax
call fcn.10001390
pop ecx
pop ecx
cmp eax, ebx
jne 0x10005b6b
push str.ErrorCode530
call dword [sym.imp.VMProtectSDK32.dll_VMProtectDecryptStringW]
push eax
call fcn.1000272c
pop ecx
jmp 0x100062fe
push 0x1000274e
push eax
call fcn.10002a10
pop ecx
pop ecx
mov dword [0x10022424], eax
lea eax, [ebp - 0x38]
xor esi, esi
push eax
inc esi
push 0x28
mov dword [ebp - 0x38], ebx
mov dword [ebp + 0x334], esi
mov dword [ebp + 0x340], 2
call fcn.10001680
push eax
call fcn.10001b6d
lea eax, [ebp + 0x338]
push eax
push str.SeDebugPrivilege
push ebx
call fcn.10001b31
add esp, 0x18
test eax, eax
je 0x10005bd3
push ebx
push ebx
push ebx
lea eax, [ebp + 0x334]
push eax
push ebx
push dword [ebp - 0x38]
call fcn.10001aaf
add esp, 0x18
push dword [ebp - 0x38]
call fcn.10001500
pop ecx
push ebx
push 0x80
push 3
push ebx
push esi
mov esi, dword [sym.imp.VMProtectSDK32.dll_VMProtectDecryptStringW]
push 0x80000000
push str.._fix4k
call esi
push eax
call fcn.100014b7
add esp, 0x1c
cmp eax, 0xffffffff
je 0x10005c0e
push eax
call fcn.10001500
jmp 0x10005c42
push str.Shcore.dll
call edi
push eax
call fcn.1000123e
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x10005c43
push str.SetProcessDpiAwareness
call edi
push eax
push dword [ebp - 0x18]
call fcn.10001370
pop ecx
pop ecx
mov dword [0x100224ac], eax
cmp eax, ebx
je 0x10005c43
push 2
call eax
pop ecx
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x548]
push eax
push ebx
push 0x1a
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], 0x44
call fcn.10001ba9
add esp, 0x10
test eax, eax
jne 0x10005c73
push str.ErrorCode101
call esi
jmp 0x10005b5f
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x548]
push eax
push ebx
call fcn.10001af5
add esp, 0xc
test eax, eax
jne 0x10005c92
push str.ErrorCode102
jmp 0x10005c6c
cmp dword [ebp - 0x34], ebx
jne 0x10005c9e
push str.ErrorCode103
jmp 0x10005c6c
call fcn.100016af
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push str.._dsetup.dat
mov dword [ebp - 0x34], eax
call esi
push eax
call fcn.100014b7
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne 0x10005cd5
push str.ErrorCode300
jmp 0x10005c6c
lea ecx, [ebp - 0x30]
push ecx
push eax
mov dword [ebp - 0x30], ebx
call fcn.100017ca
push eax
mov dword [ebp - 0x14], eax
call fcn.1000a809
mov esi, eax
push ebx
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x14]
push esi
push dword [ebp - 0x10]
call fcn.10001534
push dword [ebp - 0x10]
call fcn.10001500
mov eax, dword [ebp - 0x14]
add esp, 0x24
cmp eax, dword [ebp - 0x30]
je 0x10005d1b
push str.ErrorCode301
jmp 0x10005b59
add eax, 0xffffffec
push eax
push esi
call fcn.10002cce
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [esi + ecx - 8]
mov dword [ebp - 0x30], ecx
cmp eax, ecx
je 0x10005d3f
push str.ErrorCode302
jmp 0x10005b59
lea eax, [esi + 0x20]
mov cl, byte [eax]
xor byte [esi + 0x1c], cl
mov cl, byte [esi + 0x21]
xor byte [esi + 0x1d], cl
mov cl, byte [esi + 0x22]
xor byte [esi + 0x1e], cl
mov cl, byte [esi + 0x23]
xor byte [esi + 0x1f], cl
movzx ecx, word [esi + 0x1c]
mov dword [ebp - 0x10], ecx
movzx ecx, word [esi + 0x1e]
push ecx
push 0x10
push eax
lea ecx, [ebp]
call fcn.10004354
mov eax, dword [ebp - 0x10]
push 0x30
pop ecx
add eax, 8
mov dword [ebp - 0x18], ecx
cmp eax, ecx
jbe 0x10005d9c
lea ecx, [ebp]
call fcn.100026bd
mov ecx, dword [ebp - 0x18]
xor byte [ecx + esi], al
mov eax, dword [ebp - 0x10]
inc ecx
add eax, 8
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jb 0x10005d80
push dword [ebp - 0x10]
push esi
call fcn.10002cce
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + esi]
mov dword [ebp - 0x30], ecx
cmp eax, ecx
je 0x10005dbe
push str.ErrorCode303
jmp 0x10005b59
lea ecx, [ebp - 0x28]
call fcn.10001160
push dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 4], ebx
call fcn.10001011
push 0x30
lea ecx, [ebp - 0x28]
call fcn.10001191
lea ecx, [ebp - 0x28]
call fcn.100011bf
cmp eax, 0xacdc0001
je 0x10005df8
push str.ErrorCode304
jmp 0x100062e5
lea ecx, [ebp - 0x28]
call fcn.10001072
movsx esi, al
mov cl, al
and cl, 1
mov eax, esi
shr eax, 1
mov byte [0x10022000], cl
and al, 1
lea ecx, [ebp - 0x28]
mov byte [0x10022001], al
call fcn.100011bf
push str.fixup
lea ecx, [ebp - 0x28]
mov dword [0x1001f300], eax
call fcn.1000121d
push str.You_must_use_an_updater_to_run_the_game_
lea ecx, [ebp - 0x28]
call fcn.100011f7
lea ecx, [ebp - 0x28]
call fcn.100011a6
lea ecx, [ebp - 0x28]
mov word [0x1001f304], ax
call fcn.100011a6
mov word [0x1001f308], ax
mov eax, esi
shr eax, 2
and al, 1
push str.127.0.0.1
lea ecx, [ebp - 0x28]
mov byte [0x10022002], al
call fcn.1000121d
lea ecx, [ebp - 0x28]
call fcn.100011a6
push str.Lineage_2
lea ecx, [ebp - 0x28]
mov word [0x1001f30c], ax
call fcn.100011f7
push str.0000000000000000
lea ecx, [ebp - 0x28]
call fcn.1000121d
mov eax, esi
shr eax, 3
and al, 1
lea ecx, [ebp - 0x28]
mov byte [0x10022003], al
call fcn.100011d7
push 0x10022010
lea ecx, [ebp - 0x28]
mov dword [0x10022008], eax
mov dword [0x1002200c], edx
call fcn.1000121d
push 0x10022110
lea ecx, [ebp - 0x28]
call fcn.1000121d
push 0x10022210
lea ecx, [ebp - 0x28]
call fcn.1000121d
push 0x10022310
lea ecx, [ebp - 0x28]
call fcn.1000121d
lea ecx, [ebp - 0x28]
call fcn.100011bf
lea ecx, [ebp - 0x28]
call fcn.100011bf
mov dword [0x10022410], eax
cmp eax, ebx
jbe 0x10005f50
push eax
call fcn.1000a809
pop ecx
push dword [0x10022410]
lea ecx, [ebp - 0x28]
push eax
mov dword [0x10022004], eax
call fcn.10001041
xor ecx, ecx
cmp dword [0x10022410], ebx
jbe 0x10005f50
xor edx, edx
mov eax, ecx
div dword [0x1001f630]
mov esi, dword [0x10022004]
mov al, byte [edx + 0x1001f638]
xor byte [esi + ecx], al
inc ecx
cmp ecx, dword [0x10022410]
jb 0x10005f2e
push str.engine.dll
call edi
push eax
call fcn.1000123e
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
mov dword [0x10021bf8], eax
cmp dword [0x10022430], ebx
je 0x10005f7b
cmp dword [0x10022434], ebx
jne 0x10005f8f
mov dword [0x10022430], ecx
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x1c]
add eax, ecx
mov dword [0x10022434], eax
cmp dword [0x10022438], ebx
je 0x10005fa3
cmp dword [0x1002243c], ebx
jne 0x10006112
push ebx
call fcn.100016de
pop ecx
mov dword [0x10022438], eax
cmp byte [0x10022000], bl
je 0x100060fe
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push str.fixup
call fcn.1000146e
add esp, 0x1c
cmp eax, 0xffffffff
je 0x10005ff1
cmp byte [0x10022001], bl
je 0x10005ff1
push eax
call fcn.10001500
pop ecx
jmp 0x100060fe
mov esi, 0x22c
push esi
lea eax, [ebp + 0x108]
push ebx
push eax
call fcn.1000afa0
mov dword [ebp + 0x108], esi
call fcn.10001651
push ebx
push 2
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], ebx
call fcn.1000192c
mov esi, eax
lea eax, [ebp + 0x108]
push eax
push esi
call fcn.10001964
add esp, 0x1c
jmp 0x1000604b
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0x110]
je 0x10006051
lea eax, [ebp + 0x108]
push eax
push esi
call fcn.1000199c
pop ecx
pop ecx
cmp eax, ebx
jne 0x10006031
jmp 0x1000605a
mov eax, dword [ebp + 0x120]
mov dword [ebp - 0x14], eax
push esi
call fcn.10001500
pop ecx
cmp dword [ebp - 0x14], ebx
jne 0x10006070
push str.ErrorCode200
jmp 0x100062e5
push dword [ebp - 0x14]
push ebx
push 0x410
call fcn.1000174e
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x10006091
push str.ErrorCode201
jmp 0x100062e5
push 0x100
lea eax, [ebp + 0x448]
push eax
push ebx
push esi
call fcn.10001a6f
push esi
call fcn.10001500
push ebx
push 0x80
push 3
push ebx
push 1
lea eax, [ebp + 0x448]
push 0x80000000
push eax
call fcn.1000146e
mov esi, eax
add esp, 0x30
cmp esi, 0xffffffff
jne 0x100060da
push str.You_must_use_an_updater_to_run_the_game_
jmp 0x100062ec
lea eax, [ebp - 0x10]
push eax
push esi
mov dword [ebp - 0x10], ebx
call fcn.100017ca
push esi
mov dword [ebp - 0x2c], eax
call fcn.10001500
mov eax, dword [ebp - 0x2c]
add esp, 0xc
cmp eax, dword [0x1001f300]
jne 0x100060d0
mov ecx, dword [0x10022438]
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x1c]
add eax, ecx
mov dword [0x1002243c], eax
push str.user32.dll
call edi
push eax
call fcn.1000123e
mov esi, eax
mov dword [esp], str.MessageBoxW
call edi
push eax
push esi
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x10006149
push 0x10002ac4
push eax
call fcn.10002a10
pop ecx
pop ecx
mov dword [0x100211bc], eax
call fcn.100015ee
push eax
call fcn.100170ed
mov dword [esp], str.ws2_32.dll
call edi
push eax
call fcn.1000123e
mov esi, eax
mov dword [esp], str.connect
call edi
push eax
push esi
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x1000618d
push 0x100043e4
push eax
call fcn.10002a10
pop ecx
pop ecx
mov dword [0x10022460], eax
push str.send
call edi
push eax
push esi
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x100062e0
push 0x1000448a
push eax
call fcn.10002a10
pop ecx
pop ecx
push str.recv
mov dword [0x10022464], eax
call edi
push eax
push esi
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x100062d9
push 0x10004a45
push eax
call fcn.10002a10
pop ecx
pop ecx
push str._OnNpcHtmlMessage_UGameEngine__UAEHPAUUser__PAGH_Z
mov dword [0x10022468], eax
call edi
push eax
push dword [ebp - 0x18]
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x10006238
movzx ecx, word [0x1001f308]
push 0x10004029
push eax
mov dword [0x10022414], ecx
call fcn.10002a10
mov dword [0x100224a0], eax
pop ecx
xor eax, eax
pop ecx
mov word [0x10022444], ax
mov eax, 0xa8
push 8
mov word [0x10022448], ax
pop eax
mov word [0x1002244c], ax
xor eax, eax
push 0x70
jmp 0x10006293
push str._OnNpcHtmlMessage_UGameEngine__UAEHPAUUser__PA_WHH_Z
call edi
push eax
push dword [ebp - 0x18]
call fcn.10001370
pop ecx
pop ecx
cmp eax, ebx
je 0x100062d2
movzx ecx, word [0x1001f304]
push 0x100040b8
push eax
mov dword [0x10022414], ecx
call fcn.10002a10
pop ecx
pop ecx
push 0xe
mov dword [0x100224a4], eax
pop eax
mov word [0x10022444], ax
push 0x2b
mov eax, 0xb1
mov word [0x10022448], ax
pop eax
push 0x2e
mov word [0x1002244c], ax
pop eax
push 0x7d
mov word [0x10022450], ax
pop eax
mov word [0x10022454], ax
mov eax, 0xca
mov word [0x10022458], ax
cmp byte [0x10022003], bl
je 0x100062c5
push ebx
push ebx
push ebx
push 0x10004185
push ebx
push ebx
call fcn.100018e6
add esp, 0x18
call fcn.1000593e
call dword [sym.imp.VMProtectSDK32.dll_VMProtectEnd]
jmp 0x100062f2
push str.ErrorCode531
jmp 0x100062e5
push str.ErrorCode525
jmp 0x100062e5
push str.ErrorCode524
call dword [sym.imp.VMProtectSDK32.dll_VMProtectDecryptStringW]
push eax
call fcn.1000272c
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10001183
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x58c]
xor ecx, ebp
call fcn.1000aa9e
add ebp, 0x590
leave
ret 0xc