Function at 0x536b9b
Capabilities:
Terminate process

Disassembly:
mov eax, 0x603760
call fcn.0059d590
push ecx
mov eax, 0x2040
call fcn.0059d8e0
push ebx
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], edi
jne 0x536bca
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [esi + 0x1200c]
mov dword [ebp - 4], edi
cmp ecx, 2
jge 0x536bf6
mov ecx, esi
call fcn.0053725f
cmp eax, edi
je 0x536efa
mov ecx, dword [esi + 0x1200c]
cmp ecx, 2
jl 0x536efa
mov eax, dword [esi + 0x12428]
xor ebx, ebx
cmp eax, 1
je 0x536cc4
cmp eax, 2
je 0x536c20
jle 0x536d21
cmp eax, 4
jle 0x536cc4
jmp 0x536d21
cmp dword [esi + 0x1242c], 0xffffffff
lea eax, [esi + 0x1242c]
jne 0x536c37
mov edx, dword [esi + 0x12010]
mov dword [eax], edx
cmp byte [esi + 0x12424], 0
jne 0x536d21
mov ecx, dword [esi + 0x12010]
mov ebx, 0x10000
lea eax, [ecx + 1]
cdq
idiv ebx
movzx eax, byte [ecx + esi + 0x200c]
movzx ebx, byte [edx + esi + 0x200c]
shl ebx, 8
add ebx, eax
cmp ebx, edi
jle 0x536ca9
cmp ebx, 0x400
jg 0x536ca9
call fcn.00588c14
mov ecx, dword [esi + 0x1200c]
add ebx, eax
cmp ebx, ecx
jle 0x536d21
mov ecx, esi
call fcn.0053725f
cmp eax, edi
je 0x536efa
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jle 0x536d21
jmp 0x536efa
mov ecx, esi
mov dword [esi + 0x1200c], edi
mov dword [esi + 0x12010], edi
call fcn.005370f1
push 5
call dword [sym.imp.MSVCRT.dll_exit]
mov edi, dword [esi + 0x12010]
mov ebx, 0x10000
lea eax, [edi + 1]
cdq
idiv ebx
movzx eax, byte [edi + esi + 0x200c]
movzx ebx, byte [edx + esi + 0x200c]
shl ebx, 8
add ebx, eax
test ebx, ebx
jle 0x536fb4
cmp ebx, 0x400
jg 0x536fb4
cmp ebx, ecx
jle 0x536d1f
mov ecx, esi
call fcn.0053725f
test eax, eax
je 0x536efa
mov ecx, dword [esi + 0x1200c]
cmp ebx, ecx
jg 0x536efa
xor edi, edi
cmp dword [esi + 0x12428], 2
jne 0x536f0d
cmp byte [esi + 0x12424], 0
je 0x536e15
mov eax, dword [esi + 0x1242c]
lea edx, [esi + 0x12430]
sub ecx, eax
lea eax, [eax + esi + 0x200c]
push ecx
push eax
mov ecx, edx
call fcn.0058864a
mov ebx, eax
cmp ebx, edi
jge 0x536d82
mov ecx, esi
call fcn.005370f1
push 0x234
push str...3DRole_Network_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___OnShakeHand_failed_at__s___d
call fcn.005950cb
add esp, 0xc
jmp 0x536efa
je 0x536efa
and byte [ebp - 0x2050], 0
mov ecx, 0x7ff
xor eax, eax
lea edi, [ebp - 0x204f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x2050]
push 0x2000
push eax
lea ecx, [esi + 0x12430]
call fcn.005884ae
test eax, eax
jg 0x536dd0
push 0x246
push str...3DRole_Network_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___GenerateShakeHandBuf_failed_at__s___d
jmp 0x536eeb
push eax
lea eax, [ebp - 0x2050]
push eax
mov ecx, esi
call fcn.00536992
mov ecx, esi
call fcn.00536ffb
mov eax, dword [esi + 0x12010]
lea ecx, [esi + 0x12010]
add eax, ebx
mov edi, 0x10000
cdq
idiv edi
sub dword [esi + 0x1200c], ebx
and byte [esi + 0x12424], 0
mov dword [ecx], edx
call fcn.00535588
jmp 0x536efa
and byte [ebp - 0x50], 0
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0x4f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.00588c14
mov ecx, dword [esi + 0x12010]
mov edi, ecx
add ecx, ebx
sub edi, eax
add edi, ebx
cmp ecx, 0x10000
jle 0x536ea4
call fcn.00588c14
mov ecx, dword [esi + 0x12010]
sub ecx, eax
mov eax, 0x10000
add ecx, ebx
cmp ecx, eax
jge 0x536e95
sub eax, edi
push eax
lea eax, [edi + esi + 0x200c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x12010]
lea eax, [eax + ebx - 0x10000]
push eax
lea eax, [esi + 0x200c]
push eax
lea eax, [ebp + 0xffb0]
sub eax, edi
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x18
jmp 0x536ebe
call fcn.00588c14
push eax
lea eax, [edi + esi - 0xdff4]
jmp 0x536eb1
call fcn.00588c14
push eax
lea eax, [edi + esi + 0x200c]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
call fcn.00588c14
mov edi, eax
call fcn.00588c18
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x536f0d
push 0x276
push str...3DRole_Network_socket.h
push str.ERROR:_CGameSocket::ReceiveMsg___memcmp_PROTOCOL_PACKAGE_FLAG_failed_at__s___d
call fcn.005950cb
add esp, 0xc
mov ecx, esi
call fcn.005370f1
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8
mov eax, dword [esi + 0x12010]
mov edi, 0x10000
lea ecx, [eax + ebx]
cmp ecx, edi
jle 0x536f53
sub edi, eax
lea eax, [eax + esi + 0x200c]
push edi
push eax
push dword [ebp + 8]
call sub.MSVCRT.dll_memcpy
mov eax, ebx
sub eax, edi
push eax
lea eax, [esi + 0x200c]
push eax
mov eax, dword [ebp + 8]
add edi, eax
push edi
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0xc]
add esp, 0x18
mov dword [eax], ebx
jmp 0x536f88
cmp dword [esi + 0x12428], 2
mov edi, ebx
mov byte [ebp - 4], 7
jne 0x536f69
call fcn.00588c14
sub edi, eax
mov eax, dword [esi + 0x12010]
push edi
lea eax, [eax + esi + 0x200c]
push eax
push dword [ebp + 8]
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov dword [eax], edi
mov eax, dword [esi + 0x12010]
mov ecx, 0x10000
add eax, ebx
push 1
cdq
idiv ecx
sub dword [esi + 0x1200c], ebx
pop eax
mov dword [esi + 0x12010], edx
jmp 0x536efc
and dword [esi + 0x1200c], 0
and dword [esi + 0x12010], 0
mov ecx, esi
call fcn.005370f1
push 5
call dword [sym.imp.MSVCRT.dll_exit]
push 5
call dword [sym.imp.MSVCRT.dll_exit]
push esi
mov esi, ecx
mov dword [esi], 0x622438
call fcn.005353c9
test byte [esp + 8], 1
je 0x536ff5
push esi
call sub.MFC42.DLL_operatordelete
pop ecx
mov eax, esi
pop esi
ret 4