Function at 0x4039cf
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Encode data using base64
Encode data using xor
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x430
call fcn.0040541f
lea esi, [esp + 0x29c]
mov edi, dword [sym.imp.WS2_32.dll_WSAStartup]
push esi
push 0x202
call edi
test eax, eax
jne 0x4039f0
push str._MISC_
call fcn.00405ade
add esp, 4
push str.assigning_websocket_master
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov dword [0x40a500], 0
mov ecx, 0xbb9a
call fcn.00403811
cmp eax, 0xffffffff
jne 0x403a7d
inc dword [0x40a500]
push str._MISC_
call fcn.00405ade
add esp, 4
push str.error_assigning_websocket_master
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
cmp dword [0x40a500], 4
jae 0x4053f3
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x403a2a
mov esi, str._MISC_
push esi
mov edi, eax
call fcn.00405ade
add esp, 4
mov dword [esp + 0x18], edi
push edi
push str.websocket_master_assigned:__d
call fcn.00405ade
add esp, 8
mov edi, 0xa
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push esi
call fcn.00405ade
add esp, 4
push str.assigning_minecraft_master
call fcn.00405ade
add esp, 4
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov ecx, 0x63dd
call fcn.00403811
cmp eax, 0xffffffff
jne 0x403b12
inc dword [0x40a500]
push str._MISC_
call fcn.00405ade
add esp, 4
push str.error_assigning_minecraft_master
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x403acc
mov esi, eax
push str._MISC_
call fcn.00405ade
add esp, 4
push esi
push str.minecraft_master_assigned:__d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov eax, dword [esp + 0x18]
cmp esi, eax
mov dword [esp + 0x20], esi
cmovg eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x198], 1
jne 0x403b7f
cmp byte [0x40a4a3], 1
mov eax, 1
mov esi, dword [esp + 0x1c]
je 0x403ba7
jmp 0x403c36
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x198], 2
mov eax, 2
cmp byte [0x40a4a3], 0
mov esi, dword [esp + 0x1c]
je 0x403c36
xor ecx, ecx
mov edx, dword [0x40a4b0]
cmp dword [esp + ecx*4 + 0x19c], edx
je 0x403bbf
inc ecx
cmp eax, ecx
jne 0x403baf
jmp 0x403bc3
cmp ecx, eax
jne 0x403beb
mov ecx, dword [0x40a4b0]
mov dword [esp + eax*4 + 0x19c], ecx
mov eax, dword [esp + 0x198]
xor ecx, ecx
inc eax
mov dword [esp + 0x198], eax
mov esi, dword [0x40a4b4]
jne 0x403bf1
jmp 0x403c03
mov esi, dword [0x40a4b4]
xor ecx, ecx
cmp dword [esp + ecx*4 + 0x19c], esi
je 0x403c03
inc ecx
cmp eax, ecx
jne 0x403bf3
mov ecx, eax
cmp ecx, eax
jne 0x403c22
cmp eax, 0x3f
ja 0x403c22
mov dword [esp + eax*4 + 0x19c], esi
mov eax, dword [esp + 0x198]
inc eax
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
cmovle esi, ecx
mov ecx, dword [0x40a4b0]
cmp ecx, esi
cmovg esi, ecx
xor ecx, ecx
xor ebx, ebx
lea edi, [esp + 0x198]
mov edx, dword [ecx + 0x41a508]
test edx, edx
jle 0x403c90
xor edi, edi
test eax, eax
je 0x403c61
cmp dword [esp + edi*4 + 0x19c], edx
je 0x403c61
inc edi
cmp eax, edi
jne 0x403c51
mov edi, eax
cmp edi, eax
jne 0x403c89
cmp eax, 0x3f
lea edi, [esp + 0x198]
ja 0x403c90
mov dword [esp + eax*4 + 0x19c], edx
mov eax, dword [esp + 0x198]
inc eax
mov dword [esp + 0x198], eax
jmp 0x403c90
lea edi, [esp + 0x198]
cmp edx, esi
cmovg esi, edx
cmp ecx, 0xb4
lea ecx, [ecx + 0xc]
jb 0x403c41
inc esi
push ebx
push ebx
push ebx
push edi
push esi
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x403ca1
cmp byte [0x40a4a3], 1
jne 0x40437c
lea eax, [esp + 0x198]
push eax
push dword [0x40a4b4]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4042ce
push 0
push 0x10000
push 0x40a504
push dword [0x40a4b4]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [0x41a504], eax
test eax, eax
jle 0x4042c9
xor eax, eax
mov dword [esp + 0x10], eax
mov bl, byte [eax + 0x40a504]
inc dword [0x40a4fc]
mov dword [0x40a4bc], 0x40a080
mov dword [0x40a4c0], 0
mov cl, byte [0x40a491]
cmp cl, 1
mov eax, dword [0x40a48c]
jne 0x403ddc
test eax, eax
jle 0x403ddc
mov esi, dword [0x40a488]
cmp esi, 0x3ff
jg 0x403d55
lea eax, [esi + 0x40a080]
jmp 0x403dc2
xor eax, eax
cmp esi, 0x400
jne 0x403db3
push str._MITM_
call fcn.00405ade
add esp, 4
push str.popped_c2s_buffer
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov dword [0x40a4bc], 0x40a080
mov esi, dword [0x40a488]
mov dword [0x40a4c0], esi
call fcn.00403955
test al, al
jne 0x4042c9
cmp esi, 0x400
jl 0x403dc4
mov eax, dword [0x40a4c0]
lea ecx, [eax + 1]
mov dword [0x40a4c0], ecx
lea eax, [eax + 0x40a080]
mov byte [eax], bl
inc esi
mov dword [0x40a488], esi
mov eax, dword [0x40a48c]
dec eax
mov dword [0x40a48c], eax
mov cl, byte [0x40a491]
test cl, cl
je 0x403eb3
mov esi, 0x40a080
test eax, eax
jg 0x403fcf
mov eax, dword [0x40a488]
cmp eax, 0x400
jg 0x403fb7
mov dword [esp + 0x14], eax
mov al, byte [0x40a4c4]
test al, al
jne 0x403e1e
cmp dword [0x40a4fc], 0x400
ja 0x4042c9
mov dword [0x40a4bc], 0x40a080
mov edx, dword [esp + 0x14]
mov dword [0x40a4c0], edx
mov ecx, dword [0x40a4b8]
cmp ecx, 2
je 0x403ef6
test ecx, ecx
jne 0x403fa4
xor esi, esi
test edx, edx
mov eax, 0
cmovg eax, edx
neg eax
mov dword [esp + 0xc], eax
mov eax, 5
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40a080
xor ecx, ecx
xor eax, eax
inc eax
xor edi, edi
mov edx, dword [esp + 0xc]
add edx, eax
cmp edx, 1
je 0x4042c9
movzx ebx, byte [eax + 0x40a07f]
mov edx, ebx
and edx, 0x7f
shl edx, cl
or edi, edx
test bl, bl
jns 0x403f3f
inc eax
add ecx, 7
inc esi
inc dword [esp + 8]
inc dword [esp + 4]
cmp eax, 6
jne 0x403e75
jmp 0x4042c9
movzx edx, bl
and edx, 0x7f
mov byte [esp + 4], bl
movzx ebx, byte [0x40a490]
lea ecx, [ebx*8]
sub ecx, ebx
inc bl
mov byte [0x40a490], bl
shl edx, cl
or edx, eax
mov dword [0x40a48c], edx
mov al, 1
mov esi, 0x40a080
cmp byte [esp + 4], 0
jns 0x403fca
jmp 0x403fcf
test al, al
jne 0x403fa4
xor ecx, ecx
test edx, edx
mov esi, 0
cmovg esi, edx
neg esi
xor ebx, ebx
inc ebx
xor edx, edx
lea eax, [esi + ebx]
cmp eax, 1
je 0x4042c9
movzx eax, byte [ebx + 0x40a07f]
mov edi, eax
and edi, 0x7f
shl edi, cl
or edx, edi
test al, al
jns 0x403f8c
inc ebx
add ecx, 7
cmp ebx, 6
jne 0x403f11
jmp 0x4042c9
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0xc], ecx
js 0x4042c9
test edi, edi
mov edx, dword [esp + 0x14]
jne 0x403fa4
mov ecx, eax
sub ecx, edx
xor edi, edi
inc edi
lea edx, [ecx + edi]
cmp edx, 1
je 0x4042c9
cmp byte [eax + edi + 0x40a07f], 0
jns 0x404056
inc edi
inc esi
inc dword [esp + 8]
inc dword [esp + 4]
cmp edi, 6
jne 0x403f5e
jmp 0x4042c9
mov eax, dword [esp + 0x14]
sub eax, ebx
mov dword [esp + 8], eax
js 0x4042c9
test edx, edx
mov eax, dword [esp + 0x14]
je 0x404009
call fcn.00403955
test al, al
jne 0x4042c9
mov esi, dword [0x40a4bc]
xor eax, eax
mov dword [0x40a488], eax
mov dword [0x40a48c], eax
mov byte [0x40a490], 0
mov byte [0x40a491], al
mov edi, dword [0x40a4b0]
mov ebx, dword [0x40a4c0]
test ebx, ebx
je 0x403ff3
push 0
push ebx
push esi
push edi
call dword [sym.imp.WS2_32.dll_send]
sub ebx, eax
add esi, eax
cmp eax, 0xffffffff
jne 0x403fdb
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [0x41a504]
jl 0x403cff
jmp 0x4042ce
lea ecx, [ebx + 0x40a080]
mov dword [esp + 0xc], ecx
mov ecx, ebx
sub ecx, eax
mov dword [esp + 4], ecx
xor ecx, ecx
xor edx, edx
inc edx
xor edi, edi
mov eax, dword [esp + 4]
add eax, edx
cmp eax, 1
je 0x4042c9
movzx esi, byte [ebx + edx + 0x40a07f]
mov eax, esi
and eax, 0x7f
shl eax, cl
or edi, eax
mov eax, esi
test al, al
jns 0x4040a5
inc edx
add ecx, 7
cmp edx, 6
jne 0x404022
jmp 0x4042c9
sub dword [esp + 0xc], edi
js 0x4042c9
add dword [esp + 0x14], 0xfffffffe
xor ecx, ecx
xor edi, edi
inc edi
xor eax, eax
cmp dword [esp + 0x14], esi
je 0x4042c9
movzx edx, byte [esi + 0x40a082]
mov ebx, edx
and ebx, 0x7f
shl ebx, cl
or eax, ebx
test dl, dl
jns 0x4041f9
inc edi
add ecx, 7
inc esi
inc dword [esp + 8]
inc dword [esp + 4]
cmp ecx, 0x23
jne 0x40406c
jmp 0x4042c9
sub dword [esp + 8], edx
js 0x4042c9
mov eax, edi
cmp dword [esp + 8], edi
jl 0x4042c9
mov esi, dword [esp + 0xc]
add esi, edx
lea eax, [esi + edi]
mov dword [esp + 8], eax
push str._MITM_
call fcn.00405ade
add esp, 4
push esi
push edi
push str.og_nick___.s
call fcn.00405ade
add esp, 0xc
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov eax, dword [0x40a4bc]
mov dword [esp + 0xc], eax
mov byte [0x40a4c4], 1
xor esi, esi
cmp byte [esi + 0x40a4cb], 0
je 0x404114
inc esi
cmp esi, 0x10
jne 0x404100
mov esi, 0x10
mov edi, str._MITM_
push edi
call fcn.00405ade
add esp, 4
push esi
push str.new_nick_len:__d
call fcn.00405ade
add esp, 8
mov eax, 0xa
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push edi
call fcn.00405ade
add esp, 4
push 0x40a4cb
push esi
push str.new_nick:__.s
call fcn.00405ade
add esp, 0xc
mov eax, 0xa
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
cmp esi, 0x80
mov edx, 1
jb 0x404192
xor edx, edx
mov eax, esi
mov ecx, edx
cmp edx, 3
lea edx, [edx + 1]
ja 0x404191
mov ecx, eax
shr ecx, 7
cmp eax, 0x3fff
mov eax, ecx
ja 0x404179
inc edx
mov dword [esp + 4], edx
mov edi, ebx
sub edi, dword [esp + 8]
add edi, dword [esp + 0xc]
mov eax, dword [0x40a4bc]
add eax, ebx
mov edx, dword [0x40a4c0]
mov dword [esp + 8], edx
sub edx, ebx
mov ebx, eax
add dword [esp + 4], esi
add edi, dword [esp + 4]
mov ecx, eax
push edi
call fcn.00403921
add esp, 4
add edi, dword [esp + 8]
mov dword [0x40a4c0], edi
mov edi, dword [esp + 4]
xor eax, eax
mov ecx, esi
cmp edi, eax
je 0x4041f4
cmp ecx, 0x7f
jbe 0x404250
mov edx, ecx
or dl, 0x80
mov byte [ebx + eax], dl
shr ecx, 7
inc eax
cmp eax, 5
jne 0x4041da
xor eax, eax
dec eax
jmp 0x404254
sub dword [esp + 0xc], edi
js 0x4042c9
mov ecx, dword [esp + 0xc]
sub ecx, eax
cmp ecx, 2
jl 0x4042c9
add dword [esp + 8], eax
add dword [esp + 4], eax
mov eax, 0xfffffffb
xor ecx, ecx
xor ebx, ebx
mov edx, dword [esp + 4]
add edx, eax
cmp edx, 0xfffffffb
je 0x4042c9
mov edx, dword [esp + 8]
movzx edx, byte [edx + eax + 0xa]
mov esi, edx
and esi, 0x7f
shl esi, cl
or ebx, esi
test dl, dl
jns 0x4042a6
add ecx, 7
inc eax
jne 0x404223
jmp 0x4042c9
mov byte [ebx + eax], cl
inc eax
test eax, eax
setns cl
sub edi, eax
cmp edi, esi
setl dl
test eax, eax
js 0x4042c9
test edi, edi
js 0x4042c9
and cl, dl
jne 0x4042c9
add ebx, eax
push esi
push 0x40a4cb
push ebx
call fcn.0040354f
add esp, 0xc
push str._MITM_
call fcn.00405ade
add esp, 4
push str.nick_replace_done
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
jmp 0x403fa4
mov dword [0x40a4b8], ebx
push str._MITM_
call fcn.00405ade
add esp, 4
push ebx
push str.next_state___d
call fcn.00405ade
add esp, 8
jmp 0x404297
call fcn.004038d4
cmp byte [0x40a4a3], 1
jne 0x40437c
lea eax, [esp + 0x198]
push eax
push dword [0x40a4b0]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x40437c
push 0
push 0x10000
push 0x40a504
push dword [0x40a4b0]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [0x41a504], eax
test eax, eax
jle 0x404377
xor eax, eax
inc dword [0x40a4fc]
mov dword [esp + 0x10], eax
mov al, byte [eax + 0x40a504]
mov byte [0x40a080], al
mov edi, 0x40a080
mov dword [0x40a4bc], 0x40a080
mov dword [0x40a4c0], 1
mov ebx, dword [0x40a4b4]
xor esi, esi
inc esi
test esi, esi
je 0x404368
push 0
push esi
push edi
push ebx
call dword [sym.imp.WS2_32.dll_send]
sub esi, eax
add edi, eax
cmp eax, 0xffffffff
jne 0x404350
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [0x41a504]
jl 0x404319
jmp 0x40437c
call fcn.004038d4
lea edi, [esp + 0x198]
push edi
push dword [esp + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x404695
cmp byte [0x40a4a2], 0
jne 0x40466e
xor esi, esi
cmp esi, 0xffffffff
jne 0x4043e0
push str._MISC_
call fcn.00405ade
add esp, 4
push str.client_key_failed
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x3a98
call dword [sym.imp.KERNEL32.dll_Sleep]
push str._MISC_
call fcn.00405ade
add esp, 4
push str.getting_client_key
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
pxor xmm0, xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xf0], xmm0
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], 1
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xe4]
push eax
push 0x4091e2
push str.localhost
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x4045c8
push str._MISC_
call fcn.00405ade
add esp, 4
push 0x409186
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov eax, dword [esp + 0x38]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_socket]
test eax, eax
js 0x4045be
mov esi, eax
push str._MISC_
call fcn.00405ade
add esp, 4
push esi
push str.socket__d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov eax, dword [esp + 0x38]
push dword [eax + 0x10]
push dword [eax + 0x18]
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
js 0x4045be
mov ebx, str._MISC_
push ebx
call fcn.00405ade
add esp, 4
push 0x40919c
call fcn.00405ade
add esp, 4
mov edi, 0xa
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push dword [esp + 0x38]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
push ebx
call fcn.00405ade
add esp, 4
push str.mineplug_server_found
call fcn.00405ade
add esp, 4
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov edi, 0x5d
mov ebx, 0x409108
test edi, edi
je 0x40454d
push 0
push edi
push ebx
push esi
call dword [sym.imp.WS2_32.dll_send]
sub edi, eax
add ebx, eax
cmp eax, 0xffffffff
jne 0x404530
jmp 0x4043a4
xor edx, edx
lea edi, [esp + 0x198]
mov ebx, dword [sym.imp.WS2_32.dll_recv]
mov dword [0x41a504], edx
lea eax, [edx + 0x40a504]
mov ecx, 0x10000
sub ecx, edx
push 0
push ecx
push eax
push esi
call ebx
mov ecx, dword [0x41a504]
lea edx, [ecx + eax]
test eax, eax
jg 0x40455c
lea eax, [ecx + 0x40a4f0]
mov edx, 0x40a504
cmp eax, edx
jbe 0x4043a4
add ecx, 0xffffffec
mov eax, 0x40a504
cmp byte [eax], 0xd
jne 0x4045b5
cmp byte [eax + 1], 0xa
jne 0x4045b5
cmp byte [eax + 2], 0xd
jne 0x4045b5
cmp byte [eax + 3], 0xa
je 0x404601
inc eax
dec ecx
jne 0x40459e
jmp 0x4043a4
push dword [esp + 0x38]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
push str.SOCK_CHECK_ERR
call sub.api_ms_win_crt_runtime_l1_1_0.dll_perror
add esp, 4
push str._MISC_
call fcn.00405ade
add esp, 4
push str.cloudnt_initializate_client_by_DNS
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
xor esi, esi
dec esi
jmp 0x4043a4
movq xmm0, qword [eax + 4]
movq xmm1, qword [eax + 0xc]
movq qword [0x40a49a], xmm1
movq qword [0x40a492], xmm0
mov eax, 0xfffffff0
mov cl, byte [eax + 0x40a4a2]
add cl, 0xaf
cmp cl, 0xf0
jb 0x4043a4
inc eax
jne 0x404620
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push str._MISC_
call fcn.00405ade
add esp, 4
push 0x40a492
push 0x10
push str.client_key:__.s
call fcn.00405ade
add esp, 0xc
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov byte [0x40a4a2], 1
mov esi, 0x41a508
mov eax, 0x10
cmp dword [esi], 0
je 0x404685
add esi, 0xc
dec eax
jne 0x404678
jmp 0x404695
mov ecx, dword [esp + 0x18]
call fcn.004038a2
cmp eax, 0xffffffff
je 0x404695
mov dword [esi], eax
push edi
mov esi, dword [esp + 0x24]
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x404873
push str._PROXY_
call fcn.00405ade
add esp, 4
push str.incoming_mc_master
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov ecx, esi
call fcn.004038a2
cmp eax, 0xffffffff
je 0x4047ef
mov edi, eax
cmp dword [0x40a4f0], 0
je 0x40481d
test byte [0x40a4a3], 1
jne 0x40481d
call fcn.004038d4
push str._PROXY_
call fcn.00405ade
add esp, 4
push str.creating_proxy
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov eax, dword [0x40a4f0]
cmp eax, 0x28
mov esi, 2
mov ecx, 0x17
cmove esi, ecx
mov word [esp + 0xe0], si
add eax, 0xffffffea
push eax
push 0x40a4db
lea eax, [esp + 0xea]
push eax
call fcn.0040354f
add esp, 0xc
push 0
push 1
push esi
call dword [sym.imp.WS2_32.dll_socket]
test eax, eax
je 0x404831
mov esi, eax
push 0x10
lea eax, [esp + 0xe4]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
js 0x404831
mov dword [0x40a4b0], esi
push str._PROXY_
call fcn.00405ade
add esp, 4
cmp esi, 0xffffffff
je 0x404855
push str.created_proxy
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov dword [0x40a4b4], edi
mov byte [0x40a4a3], 1
xor eax, eax
mov dword [0x40a4fc], eax
mov dword [0x40a4b8], eax
mov byte [0x40a4c4], al
mov dword [0x40a488], eax
mov dword [0x40a48c], eax
mov byte [0x40a490], al
mov byte [0x40a491], al
jmp 0x404873
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_closesocket]
push str._PROXY_
call fcn.00405ade
add esp, 4
push str.new_mc_server_is_invalid
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
jmp 0x404873
push str._PROXY_
call fcn.00405ade
add esp, 4
push str.denied_proxy
jmp 0x40485a
push str.SOCK_CHECK_ERR
call sub.api_ms_win_crt_runtime_l1_1_0.dll_perror
add esp, 4
mov dword [0x40a4b0], 0xffffffff
push str._PROXY_
call fcn.00405ade
add esp, 4
push str.proxy_is_invalid
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
xor edx, edx
mov dword [esp + 4], 0x41a508
mov eax, dword [edx + 0x41a508]
test eax, eax
je 0x4051ef
lea ecx, [esp + 0x198]
push ecx
push eax
mov dword [esp + 0x18], edx
call sub.WS2_32.dll___WSAFDIsSet
mov edx, dword [esp + 0x10]
mov ecx, dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x4051ef
push 0
push 0x10000
push 0x40a504
push dword [edx + 0x41a508]
call ecx
mov dword [0x41a504], eax
test eax, eax
jle 0x4051a4
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
cmp ecx, 1
je 0x404b05
test ecx, ecx
jne 0x4051a4
mov dword [0x41a504], 0x10000
mov dword [esp + 0x188], 0xf1
lea edi, [eax + 0x40a501]
mov eax, 0x40a504
cmp edi, eax
jbe 0x404abd
mov esi, 0x40a504
xor edx, edx
mov ebx, 0x40a504
mov eax, esi
movzx ecx, byte [eax]
cmp ecx, 0xd
mov byte [ebx], cl
je 0x404932
test ecx, ecx
je 0x40493c
cmp ecx, 0xa
je 0x40493c
inc ebx
inc eax
cmp ebx, edi
jb 0x40491e
jmp 0x404abd
mov byte [ebx], 0
mov eax, 0x40a504
sub ebx, eax
test ebx, ebx
jle 0x404abd
mov dword [esp + 8], edx
test edx, edx
je 0x404a67
push 0x3a
push 0x40a504
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x404aaf
mov dword [esp + 0xc], esi
mov byte [eax], 0
mov dword [esp + 0x14], eax
mov esi, eax
cmp byte [esi + 1], 0x20
lea esi, [esi + 1]
je 0x40497e
mov eax, dword [0x40a504]
mov ecx, 0x72677055
xor eax, ecx
mov ecx, dword [0x40a508]
mov edx, 0x656461
xor ecx, edx
or ecx, eax
jne 0x4049bc
push esi
push str.websocket
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
sete byte [esp + 0x185]
movdqu xmm0, xmmword [0x40a504]
pcmpeqb xmm0, xmmword [str.Sec_WebSocket_VeSec_WebSocket_Key]
movdqu xmm1, xmmword [0x40a50a]
pcmpeqb xmm1, xmmword [str.bSocket_Version]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x4049fb
push esi
call sub.api_ms_win_crt_convert_l1_1_0.dll_atoi
add esp, 4
mov byte [esp + 0x184], al
movdqu xmm0, xmmword [0x40a504]
pcmpeqb xmm0, xmmword [0x408e60]
movzx eax, word [0x40a514]
movd xmm1, eax
pcmpeqb xmm1, xmmword [0x408e70]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x404a5a
movsd xmm0, qword [esi + 0x18]
lea eax, [esp + 0x164]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov eax, dword [esp + 0x14]
mov byte [eax], 0x3a
mov esi, dword [esp + 0xc]
jmp 0x404aaf
push 0x408fec
push 0x40a504
call sub.api_ms_win_crt_string_l1_1_0.dll_strtok
add esp, 8
test eax, eax
je 0x404a86
mov eax, dword [eax]
mov dword [esp + 0xe0], eax
push 0x408fec
push 0
call sub.api_ms_win_crt_string_l1_1_0.dll_strtok
add esp, 8
test eax, eax
je 0x404aaf
push 0x80
push eax
lea eax, [esp + 0xec]
push eax
call fcn.0040354f
add esp, 0xc
mov edx, dword [esp + 8]
inc edx
lea esi, [ebx + esi + 2]
jmp 0x404917
cmp byte [esp + 0x184], 0xd
jne 0x404b56
mov dword [esp + 0x188], 0xf3
pxor xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
xor ebx, ebx
jmp 0x404b95
movzx ebx, byte [0x40a504]
and ebx, 0xf
cmp ebx, 0xa
ja 0x4051a4
mov ecx, 0x706
bt ecx, ebx
jae 0x4051a4
movzx ecx, byte [0x40a505]
mov esi, ecx
and esi, 0x7f
cmp esi, 0x7f
mov dword [esp + 0xc], ecx
je 0x404d1a
cmp esi, 0x7e
jne 0x404d5e
mov dword [esp + 8], ebx
mov ecx, 2
jmp 0x404d23
mov eax, dword [esp + 0x188]
pxor xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
cmp eax, 0xf3
mov ebx, 0
jne 0x404d80
lea eax, [esp + 0x164]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
add eax, 0x25
mov edi, 0xf3
cmp eax, 0x40
ja 0x4050c1
push esi
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.0040354f
add esp, 0xc
lea eax, [esp + esi + 0xa0]
push 0x25
push str.258EAFA5_E914_47DA_95CA_C5AB0DC85B11
push eax
call fcn.0040354f
add esp, 0xc
mov byte [esp + esi + 0xc5], 0
add esi, 0x24
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov word [esp + 0x54], 0
movdqa xmm0, xmmword [0x408e80]
movdqu xmmword [esp + 0x38], xmm0
mov dword [esp + 0x48], 0xc3d2e1f0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
pcmpeqd xmm7, xmm7
je 0x404ca5
xor eax, eax
lea ebx, [esp + 0xa0]
test eax, eax
jne 0x404fdc
mov al, byte [ebx]
movsx ecx, word [esp + 0x54]
lea edx, [ecx + 1]
mov word [esp + 0x54], dx
mov byte [esp + ecx + 0x56], al
add dword [esp + 0x4c], 8
jne 0x404c68
inc dword [esp + 0x50]
jne 0x404c68
mov dword [esp + 0x9c], 1
cmp word [esp + 0x54], 0x40
jne 0x404c7d
lea ecx, [esp + 0x38]
call fcn.00403632
pcmpeqd xmm7, xmm7
dec esi
inc ebx
mov eax, dword [esp + 0x9c]
test esi, esi
jne 0x404c35
test eax, eax
jne 0x404fdc
cmp dword [esp + 0x98], 0
mov ebx, 0
jne 0x404f48
movsx eax, word [esp + 0x54]
lea ecx, [eax + 1]
cmp eax, 0x38
mov word [esp + 0x54], cx
mov byte [esp + eax + 0x56], 0x80
movzx eax, word [esp + 0x54]
jl 0x404ec0
cmp ax, 0x3f
jg 0x404ce4
movsx ecx, ax
inc eax
mov word [esp + 0x54], ax
mov byte [esp + ecx + 0x56], 0
movzx eax, word [esp + 0x54]
cmp ax, 0x40
jl 0x404ccb
lea ecx, [esp + 0x38]
call fcn.00403632
movzx eax, word [esp + 0x54]
cmp ax, 0x37
jg 0x404edf
movsx ecx, ax
inc eax
mov word [esp + 0x54], ax
mov byte [esp + ecx + 0x56], 0
movzx eax, word [esp + 0x54]
cmp ax, 0x38
jl 0x404cfc
jmp 0x404edf
mov dword [esp + 8], ebx
mov ecx, 8
movzx esi, byte [ecx + 0x40a505]
lea edi, [ecx + 1]
mov dword [esp + 0x14], ecx
lea edx, [ecx*8 + 0x7f8]
movzx ebx, byte [edi + 0x40a503]
mov ecx, edx
and cl, 0xf8
shl ebx, cl
or esi, ebx
dec edi
add edx, 0xfffffff8
cmp edi, 2
ja 0x404d38
mov edi, dword [esp + 0x14]
lea ecx, [edi + 2]
mov ebx, dword [esp + 8]
jmp 0x404d65
xor edi, edi
mov ecx, 2
lea edx, [ecx + esi + 4]
cmp edx, eax
jne 0x4051a4
cmp byte [esp + 0xc], 0
js 0x404db6
lea eax, [edi + 0x40a50a]
jmp 0x404dfb
mov eax, dword [0x41a504]
sub esp, 0x14
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0xd
mov dword [esp + 0xc], str.Sec_WebSocket_Version
mov dword [esp + 8], str.HTTP_1.1_400_Bad_Request_r_n_s:__d_r_n_r_nBad_request
call fcn.00405b09
add esp, 0x14
mov dword [0x41a504], eax
jmp 0x4051a4
mov eax, dword [ecx + 0x40a504]
mov dword [esp + 0xe0], eax
lea eax, [edi + 0x40a50a]
test esi, esi
je 0x404dfb
mov dword [esp + 8], ebx
xor ecx, ecx
xor edx, edx
mov edi, esi
mov ebx, ecx
and ebx, 3
mov bl, byte [esp + ebx + 0xe0]
xor byte [eax + ecx], bl
sar edi, 0x1f
add ecx, 1
adc edx, 0
cmp ecx, esi
mov ebx, edx
sbb ebx, edi
jb 0x404dd5
mov ebx, dword [esp + 8]
cmp bl, 1
je 0x404e69
movzx ecx, bl
cmp ecx, 2
jne 0x4051a4
mov ecx, dword [esp + 4]
cmp byte [ecx + 8], 0
mov edx, dword [esp + 0x10]
je 0x4051ef
test esi, esi
je 0x404e30
cmp esi, 0x28
je 0x404e30
cmp esi, 0x1c
jne 0x4051ef
mov dword [0x40a4f0], esi
push esi
push eax
push 0x40a4c5
call fcn.0040354f
add esp, 0xc
test esi, esi
je 0x4052fe
cmp esi, 0x28
je 0x4052f7
cmp esi, 0x1c
jne 0x40532a
mov esi, str.join_room__ipv4_
jmp 0x405303
cmp esi, 0x10
jne 0x404e8d
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [0x40a492]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x40524a
push str._WS_
call fcn.00405ade
add esp, 4
mov eax, dword [esp + 0x10]
push dword [eax + 0x41a508]
push str.no_allow__sock___d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
jmp 0x4051a4
cmp ax, 0x37
jg 0x404edf
movsx ecx, ax
inc eax
mov word [esp + 0x54], ax
mov byte [esp + ecx + 0x56], 0
movzx eax, word [esp + 0x54]
cmp ax, 0x38
jl 0x404ec6
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
bswap ecx
mov dword [esp + 0x8e], ecx
bswap eax
mov dword [esp + 0x92], eax
lea ecx, [esp + 0x38]
call fcn.00403632
lea eax, [esp + 0x56]
pxor xmm0, xmm0
movq qword [eax + 0x38], xmm0
movq qword [eax + 0x30], xmm0
movq qword [eax + 0x28], xmm0
movq qword [eax + 0x20], xmm0
movq qword [eax + 0x18], xmm0
movq qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm0
movq qword [eax], xmm0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x98], 1
pcmpeqd xmm7, xmm7
mov eax, 0xffffffec
movdqa xmm0, xmmword [0x408e90]
movd xmm1, dword [esp + eax + 0x4c]
pshufd xmm1, xmm1, 0
movdqa xmm3, xmm0
pxor xmm3, xmm7
pslld xmm3, 3
pand xmm3, xmmword [0x408ea0]
pshuflw xmm2, xmm3, 0xfe
movdqa xmm4, xmm1
psrld xmm4, xmm2
pshuflw xmm5, xmm3, 0x54
movdqa xmm2, xmm1
psrld xmm2, xmm5
pshufd xmm3, xmm3, 0xee
pshuflw xmm5, xmm3, 0xfe
movdqa xmm6, xmm1
psrld xmm6, xmm5
punpcklqdq xmm2, xmm4
pshuflw xmm3, xmm3, 0x54
psrld xmm1, xmm3
punpckhqdq xmm1, xmm6
shufps xmm2, xmm1, 0xcc
andps xmm2, xmmword [0x408eb0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd dword [esp + eax + 0x38], xmm2
paddd xmm0, xmmword [0x408ec0]
add eax, 4
jne 0x404f55
xor ecx, ecx
mov edx, 0xfffffffd
lea eax, [esp + 0xa0]
movzx esi, byte [esp + edx + 0x27]
shr esi, 2
mov bl, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax], bl
movzx esi, byte [esp + edx + 0x27]
shl esi, 4
and esi, 0x30
movzx edi, byte [esp + edx + 0x28]
shr edi, 4
mov bl, byte [esi + edi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax + 1], bl
movzx esi, byte [esp + edx + 0x28]
and esi, 0xf
movzx edi, byte [esp + edx + 0x29]
shr edi, 6
mov bl, byte [edi + esi*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax + 2], bl
movzx esi, byte [esp + edx + 0x29]
and esi, 0x3f
mov bl, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax + 3], bl
cmp ecx, 0x44
jge 0x40504f
add eax, 4
add ecx, 4
jmp 0x405058
mov byte [eax + 4], 0xa
add eax, 5
xor ecx, ecx
add edx, 3
cmp edx, 0xf
jb 0x404fea
movzx edx, byte [esp + 0x36]
shr edx, 2
mov dl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax], dl
movzx edx, byte [esp + 0x36]
shl edx, 4
and edx, 0x30
movzx esi, byte [esp + 0x37]
shr esi, 4
mov dl, byte [edx + esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax + 1], dl
movzx edx, byte [esp + 0x37]
and edx, 0xf
mov dl, byte [edx*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_POST__client_key_HTTP_1.1_nHost:_localhost_nContent_Type:_application_json_nContent_Length:_0_n_n]
mov byte [eax + 2], dl
mov byte [eax + 3], 0x3d
cmp ecx, 0xfffffffc
jne 0x4050ad
add eax, 4
jmp 0x4050b4
mov byte [eax + 4], 0xa
add eax, 5
mov word [eax - 1], 0
mov edi, dword [esp + 0x188]
mov eax, dword [0x41a504]
sub esp, 0x24
lea ecx, [esp + 0xc4]
mov dword [esp + 0x20], ecx
mov ecx, str.Upgrade
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x1c], str.Sec_WebSocket_Accept
mov dword [esp + 0x14], str.Connection
mov dword [esp + 0x10], str.websocket
mov dword [esp + 8], str.HTTP_1.1_101_Switching_Protocols_r_n_s:__s_r_n_s:__s_r_n_s:__s_r_n_r_n
call fcn.00405b09
add esp, 0x24
mov dword [0x41a504], eax
cmp edi, 0xf3
jne 0x4051a4
mov esi, eax
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x41a508]
mov ebx, 0x40a504
test esi, esi
je 0x405149
push 0
push esi
push ebx
push edi
call dword [sym.imp.WS2_32.dll_send]
sub esi, eax
add ebx, eax
cmp eax, 0xffffffff
jne 0x40512f
jmp 0x4051a4
mov dword [0x41a504], 0x10000
xor eax, eax
inc eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0x409230
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x38]
call fcn.00403574
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x41a508]
mov edi, 0x40a504
mov ebx, dword [0x41a504]
test ebx, ebx
je 0x40520d
push 0
push ebx
push edi
push esi
call dword [sym.imp.WS2_32.dll_send]
sub ebx, eax
add edi, eax
cmp eax, 0xffffffff
jne 0x40518c
push str._WS_
call fcn.00405ade
add esp, 4
mov esi, dword [esp + 0x10]
push dword [esi + 0x41a508]
push str.close__sock___d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov edi, dword [esp + 4]
push dword [edi]
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, esi
pxor xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
lea eax, [edx + 0x41a514]
mov dword [esp + 4], eax
cmp edx, 0xb4
lea edx, [edx + 0xc]
jb 0x40487d
jmp 0x403b4a
mov eax, dword [esp + 4]
mov dword [eax + 4], 1
push str._WS_
call fcn.00405ade
add esp, 4
mov esi, dword [esp + 0x10]
push dword [esi + 0x41a508]
push str.open__sock___d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
mov edx, esi
add esp, 4
jmp 0x4051ef
mov esi, dword [esp + 4]
mov byte [esi + 8], 1
push str._WS_
call fcn.00405ade
add esp, 4
mov eax, dword [esp + 0x10]
push dword [eax + 0x41a508]
push str.allow__sock___d
call fcn.00405ade
add esp, 8
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
mov dword [0x41a504], 0x10000
movzx eax, word [0x40a4f0]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], 0
mov dword [esp + 0xe8], 0x40a4c5
mov dword [esp + 0xf8], 2
lea ecx, [esp + 0xe0]
call fcn.00403574
mov esi, dword [esi]
mov edi, 0x40a504
mov ebx, dword [0x41a504]
test ebx, ebx
mov edx, dword [esp + 0x10]
je 0x4051ef
push 0
push ebx
push edi
push esi
call dword [sym.imp.WS2_32.dll_send]
sub ebx, eax
add edi, eax
cmp eax, 0xffffffff
jne 0x4052d2
jmp 0x4051a4
mov esi, str.join_room__ipv6_
jmp 0x405303
mov esi, str.leave_room
push str._WS_
call fcn.00405ade
add esp, 4
push esi
call fcn.00405ade
add esp, 4
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
add esp, 4
movzx esi, word [0x40a4f0]
mov dword [0x41a504], 0x10000
movzx eax, si
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], 0
mov dword [esp + 0xe8], 0x40a4c5
mov dword [esp + 0xf8], 2
lea ecx, [esp + 0xe0]
call fcn.00403574
xor ecx, ecx
mov edx, 0x41a508
mov eax, dword [0x41a504]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov edi, dword [ecx + 0x41a508]
test edi, edi
je 0x4053d1
mov esi, 0x40a504
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4053d1
push 0
push ebx
push esi
push edi
call dword [sym.imp.WS2_32.dll_send]
sub ebx, eax
add esi, eax
cmp eax, 0xffffffff
jne 0x405396
mov eax, dword [esp + 4]
push dword [eax + 0x41a508]
call dword [sym.imp.WS2_32.dll_closesocket]
pxor xmm0, xmm0
mov eax, dword [esp + 8]
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov eax, dword [esp + 4]
lea edx, [eax + 0x41a514]
cmp eax, 0xb4
lea ecx, [eax + 0xc]
jb 0x40537b
call fcn.004038d4
mov edx, dword [esp + 0x10]
jmp 0x4051ef
xor eax, eax
inc eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret