Function at 0x4caf40
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x44
mov eax, dword [0x6009e4]
xor eax, esp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
push ebx
mov ebx, dword [esp + 0x58]
push ebp
push esi
mov esi, edx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x58]
mov dword [ebx], 0
mov dword [edx], 0
mov dword [esp + 0x20], edx
mov edx, ecx
mov dword [eax], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], ebx
mov dword [edi], 0
call fcn.004b3fd0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x4cb0fb
movaps xmm0, xmmword [0x5f1060]
lea eax, [esp + 0x10]
push 0x62126c
push esi
push eax
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x48], xmm0
call fcn.0058bf3b
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x4cb14b
push 2
push 0xfffffffffffffff0
push eax
call fcn.0058885d
add esp, 0xc
lea eax, [esp + 0x2c]
push dword [esp + 0x10]
push 0x10
push 1
push eax
call fcn.0058d150
add esp, 0x10
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x3c]
lea esi, [ebx + 0xc]
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4cb13f
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4cb010
push 1
push 0xffffffffffffffec
push dword [esp + 0x18]
call fcn.0058885d
add esp, 0xc
lea eax, [esp + 0x14]
push dword [esp + 0x10]
push 4
push 1
push eax
call fcn.0058d150
add esp, 0x10
cmp eax, 4
jne 0x4cb0eb
push dword [esp + 0x14]
call dword [sym.imp.WS2_32.dll_ntohl]
mov dword [esp + 0x14], eax
lea ecx, [eax - 1]
cmp ecx, 0x4e1e
ja 0x4cb13f
mov ecx, 0xfffffffc
push 1
sub ecx, eax
push ecx
push dword [esp + 0x18]
call fcn.0058885d
mov eax, dword [esp + 0x20]
add esp, 0xc
inc eax
push eax
call fcn.0058d200
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], ebx
push dword [esp + 0x10]
test ebx, ebx
je 0x4cb143
push dword [esp + 0x18]
push 1
push ebx
call fcn.0058d150
mov ecx, dword [esp + 0x24]
add esp, 0x10
cmp eax, ecx
je 0x4cb0e7
push dword [esp + 0x10]
call fcn.00588467
add esp, 4
push ebx
call fcn.0058bf82
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00584a28
add esp, 0x44
ret
mov byte [ebx + ecx], 0
push dword [esp + 0x10]
call fcn.00588467
mov eax, dword [esp + 0x18]
add esp, 4
push 1
push 0x6215f4
push eax
xor edx, edx
mov ecx, ebx
call fcn.004b0490
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
mov esi, dword [edi]
test esi, esi
je 0x4cb28d
nop
mov edx, dword [esi + 4]
test edx, edx
jle 0x4cb180
mov ecx, dword [esi]
mov al, byte [ecx]
cmp al, 9
je 0x4cb133
cmp al, 0x20
jne 0x4cb160
dec edx
lea eax, [ecx + 1]
mov dword [esi], eax
test edx, edx
jg 0x4cb127
jmp 0x4cb180
push dword [esp + 0x10]
call fcn.00588467
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.00584a28
add esp, 0x44
ret
test edx, edx
jle 0x4cb180
mov eax, ecx
lea ecx, [eax - 1]
nop dword [eax]
mov al, byte [ecx + edx]
cmp al, 9
je 0x4cb17b
cmp al, 0x20
jne 0x4cb180
dec edx
test edx, edx
jg 0x4cb170
mov ecx, dword [esi]
mov dword [esi + 4], edx
cmp byte [ecx], 0x23
je 0x4cb27a
push ecx
push 1
push 0x6215f8
call fcn.004b3c70
mov ebp, eax
add esp, 0xc
test ebp, ebp
jle 0x4cb27a
mov edi, dword [esi]
lea edx, [ebp + 1]
add edx, edi
mov byte [edi + ebp], 0
mov ecx, dword [esi + 4]
sub ecx, ebp
dec ecx
cmp byte [ecx + edx - 1], 0xd
lea eax, [ecx - 1]
cmovne eax, ecx
test eax, eax
jle 0x4cb1f7
mov cl, byte [edx]
cmp cl, 9
je 0x4cb1d4
cmp cl, 0x20
jne 0x4cb1dc
dec eax
inc edx
test eax, eax
jg 0x4cb1c8
jmp 0x4cb1f7
test eax, eax
jle 0x4cb1f7
lea ecx, [edx - 1]
add ecx, eax
mov bl, byte [ecx]
cmp bl, 9
je 0x4cb1f1
cmp bl, 0x20
jne 0x4cb1f7
dec eax
dec ecx
test eax, eax
jg 0x4cb1e5
mov byte [eax + edx], 0
cmp ebp, 8
jne 0x4cb232
mov eax, dword [str.MeshName]
cmp eax, dword [edi]
jne 0x4cb219
mov eax, dword [0x621600]
cmp eax, dword [edi + 4]
jne 0x4cb219
mov eax, dword [esp + 0x1c]
mov dword [eax], edx
mov eax, dword [str.ServerID]
cmp eax, dword [edi]
jne 0x4cb27a
mov eax, dword [0x621614]
cmp eax, dword [edi + 4]
jne 0x4cb27a
mov eax, dword [esp + 0x20]
jmp 0x4cb278
cmp ebp, 6
jne 0x4cb252
mov ecx, str.MeshID
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4cb27a
movzx eax, word [ecx + 4]
cmp ax, word [edi + 4]
jne 0x4cb27a
mov eax, dword [esp + 0x24]
jmp 0x4cb278
cmp ebp, 0xa
jne 0x4cb27a
mov ecx, str.MeshServer
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4cb27a
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
jne 0x4cb27a
movzx eax, word [ecx + 8]
cmp ax, word [edi + 8]
jne 0x4cb27a
mov eax, dword [esp + 0x28]
mov dword [eax], edx
mov esi, dword [esi + 8]
test esi, esi
jne 0x4cb120
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x4cb2a5
mov esi, dword [eax + 8]
push eax
call fcn.0058bf82
add esp, 4
mov eax, esi
test esi, esi
jne 0x4cb293
push edi
call fcn.0058bf82
mov ecx, dword [esp + 0x50]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00584a28
add esp, 0x44
ret