Function at 0x42fd20
Capabilities:
Create tcp socket
Create udp socket
Hide graphical window
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x565020
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5904
call fcn.004f7350
mov eax, dword [0x639ac0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, edx
mov dword [ebp - 0x586c], eax
mov ebx, ecx
mov dword [ebp - 0x5858], ebx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x5868], edx
mov dword [ebp - 0x5848], ecx
test eax, eax
je 0x42ff1a
test edx, edx
je 0x42ff1a
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x40f
push ecx
call esi
push 0x411
push dword [ebp - 0x5848]
mov edi, eax
mov dword [ebp - 0x584c], edi
call esi
cmp byte [ebp + 0xc], 0
mov dword [ebp - 0x5860], eax
je 0x42fdc0
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0x402
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xfff
lea eax, [ebp - 0x131b]
mov byte [ebp - 0x131c], 0
push 0
push eax
call fcn.004ff750
add esp, 0xc
mov byte [ebp - 0x3b1c], 0
lea eax, [ebp - 0x3b1b]
push 0x27ff
push 0
push eax
call fcn.004ff750
add esp, 0xc
lea eax, [ebp - 0x5840]
push 0x1b80
push 0
push eax
call fcn.004ff750
lea ecx, [ebx + 0x1921]
add esp, 0xc
lea edx, [ebp - 0x3f40]
sub edx, ecx
nop
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x42fe30
mov esi, dword [ebp - 0x5858]
lea ebx, [ebp - 0x5840]
xor edi, edi
add esi, 0x21
nop dword [eax + eax]
cmp byte [esi], 0
je 0x42fe76
mov edx, ebx
mov ecx, esi
sub edx, esi
nop dword [eax + eax]
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x42fe60
inc edi
add ebx, 0x40
add esi, 0x40
cmp edi, 0x64
jl 0x42fe50
mov ebx, dword [ebp - 0x584c]
lea eax, [edi + 0xf]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [eax + eax*4]
add eax, eax
mov dword [ebp - 0x5844], edi
movzx eax, ax
shl eax, 0x10
push eax
push 0
push 0x401
push ebx
call esi
push 0x200
push dword [ebp - 0x586c]
lea eax, [ebp - 0x3ec0]
push eax
call fcn.0052da32
add esp, 0xc
cmp byte [0x1b58b0c], 0
jne 0x42ff42
lea eax, [ebp - 0x3cbc]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x42ff3b
push 0
push ecx
mov ecx, 0x10b
call fcn.00434a10
add esp, 4
mov ecx, 0xd8
push eax
call fcn.00434a10
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp byte [ebp + 0xc], 0
je 0x42ff0d
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push str._nUnable_to_start_winsock
call fcn.00424b20
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004f66cd
mov esp, ebp
pop ebp
ret
mov byte [0x1b58b0c], 1
push 0
push 0xa
push 0x402
push ebx
call esi
mov edi, dword [ebp - 0x5858]
add edi, 0x1961
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ebx, eax
test ebx, ebx
jne 0x42ffb3
push edi
push ecx
mov ecx, 0xab
call fcn.00434a10
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push 0x100
push eax
call fcn.00424aa0
add esp, 0x10
cmp byte [ebp + 0xc], bl
jne 0x430001
lea ecx, [ebp - 0x21c]
call fcn.00437fc0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0xc
push dword [ebp - 0x5860]
call esi
jmp 0x42ff1a
push 0
push 0x14
push 0x402
push dword [ebp - 0x584c]
call esi
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x585c], eax
mov dword [ebp - 0x58ec], eax
cmp eax, 0xffffffff
jne 0x430056
mov ecx, 0xac
call fcn.00434a10
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00424a70
add esp, 8
cmp byte [ebp + 0xc], 0
je 0x42ff90
push 0x30
push ecx
mov ecx, 0x108
call fcn.00434a10
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x5848]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x21c]
call fcn.00437fc0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0xc
push dword [ebp - 0x5860]
call esi
push 0
push dword [ebp - 0x584c]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x42ff1a
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea ecx, [ebp - 0x5870]
push 4
push ecx
push 0x1005
push 0xffff
push eax
mov dword [ebp - 0x5870], 0x1388
call esi
push 4
lea eax, [ebp - 0x5870]
push eax
push 0x1006
push 0xffff
push dword [ebp - 0x585c]
call esi
push 0
push 0x1e
push 0x402
push dword [ebp - 0x584c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 2
mov word [ebp - 0x3b2c], ax
mov eax, dword [ebp - 0x5858]
movzx eax, word [eax + 0x19a4]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov esi, dword [ebp - 0x585c]
lea edx, [ebp - 0x3b2c]
mov word [ebp - 0x3b2a], ax
mov eax, dword [ebx + 0xc]
push ecx
mov ecx, esi
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x3b28], eax
call fcn.0042fc40
add esp, 4
test eax, eax
je 0x4301b2
push eax
push ecx
mov ecx, 0xaa
call fcn.00434a10
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00433000
add esp, 0xc
cmp byte [ebp + 0xc], 0
je 0x430184
push 0x30
push ecx
mov ecx, 0x108
call fcn.00434a10
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x5848]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x21c]
call fcn.00437fc0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0xc
push dword [ebp - 0x5860]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push dword [ebp - 0x584c]
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x42ff1a
lea ecx, [ebp - 0x21c]
call fcn.00437fc0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0xc
push dword [ebp - 0x5860]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x42ff1a
push 0
push 0x28
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 4], 0
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x5854], 0x28
call ebx
sub esp, 8
lea eax, [ebp - 0x131c]
push 0
push 0x1000
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___Reply
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431089
push dword [ebp - 0x5848]
mov edx, 0xdc
lea ecx, [ebp - 0x131c]
push str.SMTP_Service_not_ready
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x4310a0
push eax
push 0x32
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], 0x32
call ebx
mov ebx, dword [ebp - 0x5858]
lea eax, [ebp - 0x3b1c]
push 0x5bf430
push edi
cmp byte [ebx + 0x19a8], 0
je 0x430564
push str.EHLO__s_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430280
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___EHLO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4310b7
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___EHLO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4310ce
mov edi, dword [ebp - 0x5848]
lea ecx, [ebp - 0x131c]
push edi
push str.SMTP_Service_not_ready
mov edx, 0xfa
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x4310e5
push 0x5bf430
lea eax, [ebp - 0x3b1c]
push str.AUTH_LOGIN_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430330
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___AUTH_LOGIN
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4310fc
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___AUTH_LOGIN
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431113
push edi
push str.Authentication_not_supported
mov edx, 0x14e
lea ecx, [ebp - 0x131c]
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x43112a
lea ecx, [ebx + 0x19a9]
mov edx, ecx
lea esi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4303c0
lea eax, [ebp - 0x31c]
sub edx, esi
push eax
call fcn.00417e20
add esp, 4
lea eax, [ebp - 0x31c]
push 0x5bf430
push eax
lea eax, [ebp - 0x3b1c]
push str._s_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430401
mov esi, dword [ebp - 0x585c]
lea eax, [ebp - 0x3b1c]
sub esp, 8
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send____username_
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431141
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv____username_
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431158
push edi
push str.Authentication_not_supported
mov edx, 0x14e
lea ecx, [ebp - 0x131c]
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x43116f
lea ecx, [ebx + 0x19e9]
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x430495
lea eax, [ebp - 0x3c2c]
sub edx, esi
push eax
call fcn.00417e20
add esp, 4
lea eax, [ebp - 0x3c2c]
push 0x5bf430
push eax
lea eax, [ebp - 0x3b1c]
push str._s_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4304d6
mov esi, dword [ebp - 0x585c]
lea eax, [ebp - 0x3b1c]
sub esp, 8
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send____password_
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431186
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv____password_
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x43119d
push edi
push str.Incorrect_username_password
mov edx, 0xeb
lea ecx, [ebp - 0x131c]
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x4311b4
jmp 0x43060b
push str.HELO__s_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430580
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___HELO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4311cb
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___HELO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4311e2
mov ebx, dword [ebp - 0x5848]
lea ecx, [ebp - 0x131c]
push ebx
push str.SMTP_Service_not_ready
mov edx, 0xfa
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x4311f9
jmp 0x43060d
mov ebx, edi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x3c
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], 0x3c
call edi
push 0x5bf430
lea eax, [ebp - 0x3f40]
push eax
lea eax, [ebp - 0x3b1c]
push str.MAIL_FROM:__s__s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430657
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___MAIL_FROM
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431210
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___MAIL_FROM
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431227
push ebx
push str.Unexpected_error
mov edx, 0xfa
lea ecx, [ebp - 0x131c]
call fcn.0042fbd0
mov esi, eax
add esp, 8
test esi, esi
jne 0x43123e
push eax
mov ebx, 0x46
push ebx
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], ebx
call edi
mov byte [ebp - 0x584d], 1
xor edi, edi
mov dword [ebp - 0x5864], edi
cmp edi, dword [ebp - 0x5844]
jge 0x430868
mov eax, edi
mov byte [ebp - 4], 1
shl eax, 6
lea ecx, [ebp - 0x5840]
push 0x5bf430
add eax, ecx
push eax
lea eax, [ebp - 0x3b1c]
push str.RCPT_TO:__s__s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430745
mov esi, dword [ebp - 0x585c]
lea eax, [ebp - 0x3b1c]
sub esp, 8
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___RCPT_TO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431255
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___RCPT_TO
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x43126c
push dword [ebp - 0x5848]
mov edx, 0xfa
lea ecx, [ebp - 0x131c]
push str.Unexpected_error
call fcn.0042fbd0
mov esi, eax
add esp, 8
test esi, esi
jne 0x431283
jmp 0x43083e
push 0
add ebx, 0xa
mov dword [ebp - 4], 0
push ebx
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
jmp 0x4306ff
cmp byte [ebp - 0x584d], 0
je 0x43129a
push 0x5bf430
lea eax, [ebp - 0x3b1c]
push str.DATA_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430897
mov esi, dword [ebp - 0x585c]
lea eax, [ebp - 0x3b1c]
sub esp, 8
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___DATA
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4312b1
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___DATA
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4312c8
push dword [ebp - 0x5848]
mov edx, 0x162
lea ecx, [ebp - 0x131c]
push str.Unexpected_error
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x4312df
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
add ebx, 0xa
push eax
push ebx
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5858], ebx
mov dword [ebp - 0x5854], ebx
call edi
push 0x5bf430
lea eax, [ebp - 0x3f40]
push eax
lea eax, [ebp - 0x3f00]
push eax
lea eax, [ebp - 0x3b1c]
push str.From:__s___s__sTo:
push eax
call fcn.00417e00
mov eax, dword [ebp - 0x5844]
add esp, 0x14
mov dword [ebp - 0x5864], 0
test eax, eax
jle 0x430a63
mov dx, word [0x5bf604]
lea ebx, [ebp - 0x5840]
dec eax
mov dword [ebp - 0x586c], ebx
mov dword [ebp - 0x58c4], eax
mov ax, word [0x5bf600]
nop dword [eax + eax]
lea edi, [ebp - 0x3b1c]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x4309b7
mov cx, word [0x5bf5fc]
mov esi, ebx
mov word [edi], cx
nop dword [eax]
mov cl, byte [ebx]
inc ebx
test cl, cl
jne 0x4309d0
lea edi, [ebp - 0x3b1c]
sub ebx, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4309e0
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x3b1c]
dec edi
nop dword [eax]
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x430a00
mov esi, dword [ebp - 0x5864]
mov word [edi], ax
cmp esi, dword [ebp - 0x58c4]
jge 0x430a2f
lea edi, [ebp - 0x3b1c]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x430a22
mov word [edi], dx
mov ebx, dword [ebp - 0x586c]
inc esi
add ebx, 0x40
mov dword [ebp - 0x5864], esi
mov dword [ebp - 0x586c], ebx
cmp esi, dword [ebp - 0x5844]
jl 0x4309b0
mov ebx, dword [ebp - 0x5858]
mov esi, dword [ebp - 0x585c]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x3b1c]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x430a70
mov ax, word [0x5bf430]
mov word [ecx], ax
mov al, byte [0x5bf432]
mov byte [ecx + 2], al
lea ecx, [ebp - 0x3b1c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430a94
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, 0x5bf608
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4312f6
push eax
add ebx, 0xa
push ebx
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], ebx
call edi
push 0x5bf430
push 0x5bf430
lea eax, [ebp - 0x3ec0]
push eax
lea eax, [ebp - 0x3b1c]
push str.Subject:__s_s_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x14
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430b10
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov edx, 0x5bf608
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x43130d
push eax
add ebx, 0xa
push ebx
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5858], ebx
mov dword [ebp - 0x5854], ebx
call edi
mov edi, dword [ebp - 0x5868]
xor ebx, ebx
lea ecx, [edi + 2]
nop dword [eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x430b70
sub edi, ecx
sar edi, 1
nop
mov esi, edi
sub esi, ebx
cmp esi, 0x3e6
jle 0x430c38
push 0x2800
lea eax, [ebp - 0x3b1c]
push 0
push eax
call fcn.004ff750
mov eax, dword [ebp - 0x5868]
add esp, 0xc
lea eax, [eax + ebx*2]
push 0x3e6
push eax
lea eax, [ebp - 0x3b1c]
push eax
call fcn.0052da32
lea ecx, [ebp - 0x3b1c]
add esp, 0xc
dec ecx
nop dword [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x430bd0
mov ax, word [0x5bf430]
mov word [ecx], ax
mov al, byte [0x5bf432]
mov byte [ecx + 2], al
lea ecx, [ebp - 0x3b1c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430bf4
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push dword [ebp - 0x585c]
call dword [sym.imp.WS2_32.dll_send]
mov edx, 0x5bf608
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431324
add ebx, 0x3e6
jmp 0x430b80
mov edi, dword [ebp - 0x5858]
push 0
add edi, 0xa
push edi
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], edi
call dword [sym.imp.USER32.dll_SendMessageW]
test esi, esi
je 0x430ccc
mov eax, dword [ebp - 0x5868]
push 0x5bf430
lea eax, [eax + ebx*2]
push eax
lea eax, [ebp - 0x3b1c]
push str._S_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430c90
mov ebx, dword [ebp - 0x585c]
lea eax, [ebp - 0x3b1c]
sub esp, 8
sub ecx, edx
push 0
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov edx, 0x5bf608
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x43133b
jmp 0x430cd2
mov ebx, dword [ebp - 0x585c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
add edi, 0xa
push 0
push edi
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], edi
call esi
push 0x5bf430
push 0x5bf430
lea eax, [ebp - 0x3b1c]
push str._s._s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430d18
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___end_message
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431352
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___end_message
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431369
push dword [ebp - 0x5848]
mov edx, 0xfa
lea ecx, [ebp - 0x131c]
push str.Unexpected_error
call fcn.0042fbd0
add esp, 8
test eax, eax
jne 0x431380
push eax
add edi, 0xa
push edi
push 0x402
push dword [ebp - 0x584c]
mov dword [ebp - 0x5854], edi
call esi
push 0x5bf430
lea eax, [ebp - 0x3b1c]
push str.QUIT_s
push eax
call fcn.00417e00
lea ecx, [ebp - 0x3b1c]
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430de0
sub esp, 8
lea eax, [ebp - 0x3b1c]
sub ecx, edx
push 0
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
mov edx, str.send___QUIT
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x431397
sub esp, 8
push eax
push 0x1000
lea eax, [ebp - 0x131c]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
mov edx, str.recv___QUIT
mov ecx, eax
call fcn.0042fb40
add esp, 8
test eax, eax
jne 0x4313ae
jmp 0x431002
mov ebx, dword [ebp - 0x584c]
add edi, 0xa
push 0
push edi
push 0x402
push ebx
call esi
push dword [ebp - 0x58ec]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
lea eax, [edi + 0xa]
push eax
push 0x402
push ebx
call esi
mov ecx, 0x120
call fcn.00434a10
lea edx, [ebp - 0x21c]
sub edx, eax
nop dword [eax]
movzx ecx, word [eax]
lea eax, [eax + 2]
mov word [edx + eax - 2], cx
test cx, cx
jne 0x431050
lea eax, [ebp - 0x21c]
push eax
push 0
push 0xc
push dword [ebp - 0x5860]
call esi
cmp byte [ebp + 0xc], 0
je 0x431082
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
jmp 0x42ff1f
mov dword [ebp - 0x58dc], eax
lea eax, [ebp - 0x58dc]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58f8], eax
lea eax, [ebp - 0x58f8]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58fc], eax
lea eax, [ebp - 0x58fc]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5900], eax
lea eax, [ebp - 0x5900]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5904], eax
lea eax, [ebp - 0x5904]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5908], eax
lea eax, [ebp - 0x5908]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x590c], eax
lea eax, [ebp - 0x590c]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5874], eax
lea eax, [ebp - 0x5874]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5878], eax
lea eax, [ebp - 0x5878]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x587c], eax
lea eax, [ebp - 0x587c]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5880], eax
lea eax, [ebp - 0x5880]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5884], eax
lea eax, [ebp - 0x5884]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5888], eax
lea eax, [ebp - 0x5888]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x588c], eax
lea eax, [ebp - 0x588c]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5890], eax
lea eax, [ebp - 0x5890]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5894], eax
lea eax, [ebp - 0x5894]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x5898], eax
lea eax, [ebp - 0x5898]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x589c], eax
lea eax, [ebp - 0x589c]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58a0], eax
lea eax, [ebp - 0x58a0]
push 0x5cdad0
push eax
call fcn.004febdb
push 0x5cdad0
lea eax, [ebp - 0x58a4]
mov dword [ebp - 0x58a4], esi
push eax
call fcn.004febdb
mov dword [ebp - 0x58a8], eax
lea eax, [ebp - 0x58a8]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58ac], eax
lea eax, [ebp - 0x58ac]
push 0x5cdad0
push eax
call fcn.004febdb
push 0x5cdad0
lea eax, [ebp - 0x58b0]
mov dword [ebp - 0x58b0], esi
push eax
call fcn.004febdb
push 0x5cdad0
lea eax, [ebp - 0x58b4]
mov dword [ebp - 0x58b4], esi
push eax
call fcn.004febdb
mov dword [ebp - 0x58b8], eax
lea eax, [ebp - 0x58b8]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58bc], eax
lea eax, [ebp - 0x58bc]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58c0], eax
lea eax, [ebp - 0x58c0]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58c8], eax
lea eax, [ebp - 0x58c8]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58cc], eax
lea eax, [ebp - 0x58cc]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58d0], eax
lea eax, [ebp - 0x58d0]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58d4], eax
lea eax, [ebp - 0x58d4]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58d8], eax
lea eax, [ebp - 0x58d8]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58f4], eax
lea eax, [ebp - 0x58f4]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58e0], eax
lea eax, [ebp - 0x58e0]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58e4], eax
lea eax, [ebp - 0x58e4]
push 0x5cdad0
push eax
call fcn.004febdb
mov dword [ebp - 0x58e8], eax
lea eax, [ebp - 0x58e8]
push 0x5cdad0
push eax
call fcn.004febdb
int3