Function at 0x414790
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d3cce
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x538
mov eax, dword [0x508068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x2c], 0
lea edx, [edx + 0xe]
call fcn.00472f00
mov edi, dword [ebp - 0x2c]
cmp edi, dword [0x5108a8]
je 0x414852
cmp byte [edi + 0xc], 0
je 0x414852
mov eax, dword [edi + 0x508]
or eax, dword [edi + 0x50c]
je 0x414859
mov eax, dword [edi + 0x3d8]
mov ecx, dword [edi + 0x3dc]
cmp eax, ecx
je 0x414835
nop
cmp byte [eax + 0x38], 0
jne 0x41482c
cmp dword [eax + 0x3c], 0
jne 0x414859
add eax, 0x148
cmp eax, ecx
jne 0x414820
cmp byte [0x5102e0], 0
je 0x414852
push 0
push 0x4ee3e8
push 0x4ee40c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x41562c
mov eax, dword [edi + 0x4cc]
add eax, dword [edi + 0x4d0]
cmp eax, dword [0x510370]
jg 0x414852
mov eax, dword [0x50e604]
add eax, dword [0x50e5a8]
cmp eax, dword [0x51036c]
jg 0x414852
movzx eax, word [0x510368]
push eax
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 1
call fcn.004b59da
add esp, 4
mov dword [ebp - 0x4fc], edx
mov esi, eax
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x508], esi
call fcn.00414170
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 4], 0
call fcn.00415670
mov eax, dword [ebp - 0x4fc]
xorps xmm0, xmm0
mov byte [ebp - 4], 1
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], eax
mov eax, 2
push 0
movlpd qword [ebp - 0x3c], xmm0
push 0
mov byte [ebp - 0x1d6], 0
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe0], esi
mov word [ebp - 0x60], ax
mov byte [ebp - 0x4e5], 1
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.0044ff20
mov esi, eax
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x3c], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 2
push 0
movlpd qword [ebp - 0x44], xmm0
push 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
call fcn.0044ff20
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x44], eax
xorps xmm0, xmm0
mov byte [ebp - 4], 3
push 0
movlpd qword [ebp - 0x34], xmm0
push 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
call fcn.0044ff20
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x34], eax
push 0x3e8
mov byte [ebp - 4], 4
push dword [edi + 0x400]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x414f8d
mov eax, dword [edi + 0x3f8]
mov esi, dword [edi + 0x404]
cmp esi, eax
jne 0x4149c2
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x28], esi
cmp ecx, eax
je 0x414d09
mov edx, eax
mov dword [ebp - 0x4e4], edx
nop word [eax + eax]
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x60], 0
je 0x414b0a
cmp dword [edi + 0x430], 0
jne 0x414a02
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x28], esi
jmp 0x414afa
mov esi, dword [ebp - 0x4e4]
mov eax, dword [edi + 0x42c]
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov dword [ebp - 0x28], edx
cmp byte [ecx + 0xd], 0
jne 0x414a7c
mov edi, edx
mov edx, dword [edi + 0x14]
cmp dword [ecx + 0x14], edx
jb 0x414a45
ja 0x414a3f
mov eax, dword [ecx + 0x5c]
mov edx, dword [edi + 0x14]
cmp eax, dword [edi + 0x5c]
jl 0x414a45
jg 0x414a3f
mov ax, word [ecx + 0x10]
cmp ax, word [edi + 0x10]
jb 0x414a45
mov esi, ecx
mov ecx, dword [ecx]
jmp 0x414a48
mov ecx, dword [ecx + 8]
cmp byte [ecx + 0xd], 0
je 0x414a21
mov edi, dword [ebp - 0x2c]
cmp esi, dword [ebp - 0x4e4]
je 0x414a79
cmp edx, dword [esi + 0x14]
mov edx, dword [ebp - 0x28]
jb 0x414a7c
ja 0x414a82
mov eax, dword [edx + 0x5c]
cmp eax, dword [esi + 0x5c]
jl 0x414a7c
jg 0x414a82
mov ax, word [edx + 0x10]
cmp ax, word [esi + 0x10]
jb 0x414a7c
jmp 0x414a82
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x4e4]
lea ecx, [edi + 0x42c]
mov dword [ebp - 0x4f4], esi
mov dword [ebp - 0x28], esi
push edx
cmp esi, dword [ebp - 0x4e4]
jne 0x414acd
lea eax, [ebp - 0x18]
push eax
call fcn.00445570
cmp byte [0x5102e0], 0
je 0x414ac0
push 0
push 0x4ee41c
push str.it_torrent__peers_all.end__
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, dword [edi + 0x3f8]
mov esi, dword [esi]
jmp 0x414cb4
mov ax, word [edx + 0x64]
mov word [esi + 0x64], ax
lea eax, [ebp - 0x50c]
push eax
call fcn.00445570
cmp byte [esi + 0x67], 0
je 0x414af4
mov esi, dword [edi + 0x3f8]
mov esi, dword [esi]
jmp 0x414cb4
mov ecx, dword [ebp - 0x4f4]
mov eax, dword [edi + 0x3f8]
cmp ecx, eax
je 0x414d09
jmp 0x414b3b
mov ecx, dword [ebp - 0x4fc]
mov eax, edx
mov edx, dword [ebp - 0x508]
sub edx, dword [esi + 0xe0]
sbb ecx, dword [esi + 0xe4]
mov dword [ebp - 0x524], ecx
js 0x414cb4
jg 0x414b3b
cmp edx, 0x1e
jb 0x414cb4
cmp byte [esi + 0x67], 0
jne 0x414cb4
cmp byte [esi + 0x69], 0
jne 0x414cb4
cmp byte [edi + 0x11], 0
je 0x414b62
cmp byte [esi + 0x2ec], 0
jne 0x414cb4
cmp byte [0x510409], 0
mov ecx, eax
je 0x414b73
cmp byte [edi + 0x1a], 0
jne 0x414b7f
cmp dword [esi + 0x6c], 1
mov eax, ecx
je 0x414cb4
mov ecx, dword [edi + 0x4d0]
add ecx, dword [edi + 0x4cc]
add ecx, dword [ebp - 0x500]
cmp ecx, dword [0x510370]
jg 0x414d09
mov eax, dword [0x51040c]
dec eax
cmp eax, 9
ja case.0x414baf.3
movzx eax, byte [eax + 0x415660]
jmp dword [eax*4 + 0x415654]
mov eax, 6
jmp 0x414c06
mov eax, 0x11
jmp 0x414c06
mov eax, dword [ebx + 8]
cmp byte [eax + 0x60], 0
je 0x414bd3
movsx eax, word [esi + 0x64]
jmp 0x414c06
movzx ecx, word [esi + 0x64]
mov eax, 6
cmp cx, 0xffff
jne 0x414bfb
mov cl, byte [ebp - 0x4e5]
mov edx, 0x11
test cl, cl
cmove eax, edx
sete byte [ebp - 0x4e5]
jmp 0x414c06
cmp cx, ax
mov ecx, 0x11
cmove eax, ecx
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x1e0], eax
mov word [esi + 0x64], ax
mov word [esi + 0x66], 0x100
mov dword [esi + 0xe0], ecx
mov ecx, dword [ebp - 0x4fc]
mov dword [esi + 0xe4], ecx
lea ecx, [ebp - 0x28]
push ecx
cmp eax, 0x11
jne 0x414c71
mov eax, dword [ebp - 0x4f8]
mov esi, dword [eax + 4]
push esi
push eax
call fcn.00455300
mov ecx, eax
mov eax, 0x15555554
sub eax, dword [ebp - 0x40]
cmp eax, 1
jb 0x41564a
mov eax, dword [ebp - 0x4f8]
inc dword [ebp - 0x40]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4f8], eax
jmp 0x414ca9
mov eax, dword [ebp - 0x4f0]
mov esi, dword [eax + 4]
push esi
push eax
call fcn.00455300
mov ecx, eax
mov eax, 0x15555554
sub eax, dword [ebp - 0x38]
cmp eax, 1
jb 0x41564a
mov eax, dword [ebp - 0x4f0]
inc dword [ebp - 0x38]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4f0], eax
inc dword [ebp - 0x500]
mov dword [esi], ecx
mov esi, dword [ebp - 0x28]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x414cda
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x414cd6
cmp esi, dword [eax + 8]
jne 0x414cd6
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x414cc6
mov esi, eax
jmp 0x414cf0
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x414cf0
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x414ce4
mov eax, dword [edi + 0x3f8]
mov edx, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x4e4], eax
cmp esi, eax
jne 0x4149e0
cmp esi, eax
je 0x414d4a
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x414d35
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x414d4a
mov ecx, esi
mov edx, eax
cmp ecx, dword [eax + 8]
jne 0x414d4a
mov eax, dword [eax + 4]
mov ecx, edx
cmp byte [eax + 0xd], 0
je 0x414d21
jmp 0x414d4a
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
jne 0x414d4a
nop dword [eax]
mov eax, dword [ecx]
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x414d40
mov dword [edi + 0x404], esi
push dword [edi + 0x400]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x414d7a
cmp byte [0x5102e0], al
je 0x414d7a
push eax
push 0x4ee448
push str.it_torrent__mutex_peers_all__ReleaseMutex__
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, dword [ebp - 0x4f0]
cmp dword [ebp - 0x38], 0
je 0x415039
mov eax, dword [edi + 0x464]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x41c]
push 0x3e8
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push 1
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x41501c
mov edi, dword [esi]
cmp edi, esi
je 0x414fc5
mov eax, dword [ebp - 0x2c]
add eax, 0x414
mov dword [ebp - 0x4f4], eax
nop
mov esi, dword [edi + 8]
lea ecx, [ebp - 0x4e0]
lea eax, [esi + 0x10]
push eax
call fcn.00415b20
push dword [ebp - 0x18]
lea eax, [ebp - 0x4e0]
push eax
push ecx
mov ecx, dword [ebp - 0x4f4]
lea eax, [ebp - 0x510]
push eax
call fcn.004545f0
cmp byte [ebp - 0x50c], 0
je 0x414fb3
mov eax, dword [esi + 0x14]
push 0
mov dword [ebp - 0x5c], eax
mov ax, word [esi + 0x60]
push 1
push 2
mov word [ebp - 0x5e], ax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x4e4], eax
cmp eax, 0xffffffff
jne 0x414e54
cmp byte [0x5102e0], 0
je 0x414e54
push 0
push 0x4ee4c0
push str.Cant_load_WinSock
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x4e4]
push 4
lea ecx, [ebp - 0x48]
push ecx
push 4
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x4c]
push eax
push 0x8004667e
push dword [ebp - 0x4e4]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x414e9f
cmp byte [0x5102e0], 0
je 0x414e9f
push 0
push str.sServerListenTCP__SOCKET_ERROR_connect_peers__
push 0x4ee524
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 4
lea eax, [ebp - 0x50]
push eax
push 1
push 6
push dword [ebp - 0x4e4]
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0x10
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x4e4]
call dword [sym.imp.WS2_32.dll_connect]
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x1e0]
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1e0], 6
mov eax, dword [esi + 0x45c]
push edx
mov dword [ebp - 0x504], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x4e4], ecx
call fcn.004555f0
mov edx, dword [esi + 0x460]
mov ecx, eax
mov eax, 0xa72f04
sub eax, edx
cmp eax, 1
jb 0x41564a
lea eax, [edx + 1]
mov dword [esi + 0x460], eax
mov eax, dword [ebp - 0x504]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x4e4]
mov dword [eax], ecx
lea ecx, [ebp - 0xf0]
mov eax, dword [ebp - 0x4ec]
push ecx
mov esi, dword [eax + 4]
push esi
push eax
call fcn.00455300
mov edx, dword [ebp - 0x30]
mov ecx, eax
mov eax, 0x15555554
sub eax, edx
cmp eax, 1
jb 0x41564a
mov eax, dword [ebp - 0x4ec]
inc edx
mov dword [ebp - 0x30], edx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [esi], ecx
mov dword [ebp - 0x4ec], eax
jmp 0x414fb7
cmp byte [0x5102e0], 0
je 0x414d80
push 0
push 0x4ee484
push 0x4ee494
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x414d80
mov byte [esi + 0x67], 0
mov edi, dword [edi]
cmp edi, dword [ebp - 0x4f0]
jne 0x414dd0
mov edi, dword [ebp - 0x2c]
push dword [edi + 0x464]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x414ff4
cmp byte [0x5102e0], al
je 0x414ff4
push eax
push 0x4ee54c
push str.it_torrent__mutex_Peers_Connect__ReleaseMutex__
push eax
call esi
push dword [edi + 0x41c]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x415039
cmp byte [0x5102e0], al
je 0x415039
push eax
push 0x4ee58c
push 0x4ee5a4
push eax
call esi
jmp 0x415039
cmp byte [0x5102e0], 0
je 0x415039
push 0
push 0x4ee5c0
push 0x4ee5d0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp - 0x40], 0
je 0x415485
push 0
call fcn.004b59da
push eax
call fcn.004b5e34
add esp, 8
call fcn.004b5e13
movzx esi, ax
mov eax, esi
mov dword [ebp - 0x518], 0
not eax
mov dword [ebp - 0x514], 0
movzx eax, ax
mov ecx, esi
mov dword [ebp - 0x4e4], eax
mov eax, dword [0x510294]
mov dword [ebp - 0x50c], eax
mov eax, dword [0x5108a8]
mov dword [ebp - 0x51c], eax
mov eax, dword [0x50e4b0]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x428]
push 0x3e8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push 1
push eax
push 2
mov dword [ebp - 0x28], ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x415542
mov ecx, dword [ebp - 0x4f8]
mov eax, dword [ecx]
mov dword [ebp - 0x504], eax
cmp eax, ecx
je 0x415433
mov ecx, esi
mov dword [ebp - 0x4f4], ecx
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x4e0]
lea eax, [esi + 0x10]
push eax
call fcn.00415b20
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x5c], eax
mov ax, word [esi + 0x60]
push 0x50e540
mov word [ebp - 0x5e], ax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [0x5105b0]
xor eax, eax
mov ecx, 0xffff
cmp word [ebp - 0x4f4], cx
mov ecx, dword [ebp - 0x28]
cmove ecx, eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x28], ecx
cmp byte [eax + 0xd], 0
jne 0x415195
cmp word [eax + 0x10], cx
jae 0x41513d
mov eax, dword [eax + 8]
jmp 0x415141
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x415132
cmp edx, dword [0x5105b0]
je 0x415195
cmp cx, word [edx + 0x10]
jb 0x415195
mov edi, dword [0x5105b0]
nop dword [eax + eax]
mov eax, dword [edi + 4]
inc ecx
mov edx, edi
cmp byte [eax + 0xd], 0
jne 0x41518f
nop dword [eax]
cmp word [eax + 0x10], cx
jae 0x41517b
mov eax, dword [eax + 8]
jmp 0x41517f
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x415170
cmp edx, edi
je 0x41518f
cmp cx, word [edx + 0x10]
jae 0x415160
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x530], eax
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x534]
mov word [ebp - 0x534], cx
mov ecx, 0x5105b0
push eax
call fcn.00456560
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x548]
mov ecx, 0x5105b0
push eax
call fcn.00456590
mov ecx, dword [ebp - 0x28]
push ecx
mov word [0x50e5dc], 0x41
call dword [sym.imp.WS2_32.dll_htons]
push dword [0x50e540]
mov word [0x50e5de], ax
call dword [sym.imp.WS2_32.dll_htonl]
push dword [ebp - 0x1d0]
mov dword [0x50e5e0], eax
mov dword [0x50e5e4], 0
call dword [sym.imp.WS2_32.dll_htonl]
push dword [ebp - 0x4e4]
mov dword [0x50e5e8], eax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [ebp - 0x28]
movups xmm0, xmmword [0x50e5dc]
mov word [0x50e5ec], ax
xor eax, eax
mov word [0x50e5ee], ax
lea eax, [ecx + 1]
mov word [ebp - 0x4e0], cx
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
mov word [ebp - 0x1d4], ax
mov eax, dword [0x50e5ec]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x4e4]
mov word [ebp - 0x1cc], ax
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x40c], eax
lea eax, [ebp - 0x4e0]
push eax
push ecx
lea eax, [ebp - 0x518]
mov byte [ebp - 0x19c], 0
push eax
lea ecx, [edi + 0x420]
mov dword [ebp - 0x1c0], 0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1e0], 0x11
mov dword [ebp - 0x48c], 0x1000011
call fcn.004545f0
cmp byte [ebp - 0x514], 0
je 0x4153e4
mov eax, dword [ebp - 0x518]
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0xf4], esi
mov esi, dword [0x510294]
push ecx
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 4]
push eax
push esi
mov dword [ebp - 0x4f4], eax
call fcn.004555f0
mov ecx, dword [0x510298]
mov edx, eax
mov eax, 0xa72f04
sub eax, ecx
cmp eax, 1
jb 0x41564a
mov eax, dword [ebp - 0x4f4]
inc ecx
mov dword [0x510298], ecx
mov ecx, dword [ebp - 0x28]
mov dword [esi + 4], edx
mov dword [eax], edx
mov eax, dword [0x510294]
mov word [ebp - 0x540], cx
mov ecx, 0x5102c4
mov dword [ebp - 0x53c], edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x538], eax
lea eax, [ebp - 0x540]
push eax
call fcn.00456560
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x528]
mov ecx, 0x5102c4
push eax
call fcn.00456590
cmp byte [ebp - 0x524], 0
je 0x4153cd
mov eax, dword [ebp - 0x4ec]
lea ecx, [ebp - 0xf0]
push ecx
mov esi, dword [eax + 4]
push esi
push eax
call fcn.00455300
mov edx, dword [ebp - 0x30]
mov ecx, eax
mov eax, 0x15555554
sub eax, edx
cmp eax, 1
jb 0x41564a
mov eax, dword [ebp - 0x4ec]
inc edx
mov dword [ebp - 0x30], edx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [esi], ecx
mov dword [ebp - 0x4ec], eax
jmp 0x415401
cmp byte [0x5102e0], 0
je 0x415401
push 0
push 0x4ee600
push 0x4ee610
jmp 0x4153f9
cmp byte [0x5102e0], 0
je 0x415401
push 0
push str.UDP_connect_peers__
push 0x4ee658
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0x18]
inc dword [ebp - 0x4e4]
movzx eax, cx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x504]
movzx ecx, cx
mov dword [ebp - 0x4f4], ecx
mov eax, dword [eax]
mov dword [ebp - 0x504], eax
cmp eax, dword [ebp - 0x4f8]
jne 0x4150e1
push dword [0x50e4b0]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x41545f
cmp byte [0x5102e0], al
je 0x41545f
push eax
push 0x4ee674
push 0x4ee684
push eax
call esi
push dword [edi + 0x428]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x415485
cmp byte [0x5102e0], al
je 0x415485
push eax
push 0x4ee6b0
push str.it_torrent__mutex_peers_udp__ReleaseMutex__
push eax
call esi
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp - 0x30], 0
je 0x415583
push 0x3e8
push dword [edi + 0x450]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x41556a
mov eax, dword [ebp - 0x4ec]
mov esi, dword [eax]
cmp esi, eax
je 0x415516
nop word [eax + eax]
mov ecx, dword [edi + 0x448]
lea eax, [esi + 8]
push eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ecx + 4]
push edx
push ecx
mov dword [ebp - 0x50c], edx
call fcn.00455300
mov edx, dword [edi + 0x44c]
mov ecx, eax
mov eax, 0x15555554
sub eax, edx
cmp eax, 1
jb 0x41564a
lea eax, [edx + 1]
mov dword [edi + 0x44c], eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x50c]
mov dword [eax], ecx
mov esi, dword [esi]
cmp esi, dword [ebp - 0x4ec]
jne 0x4154c0
push dword [edi + 0x450]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x415583
cmp byte [0x5102e0], al
je 0x415583
push eax
push str.add_peer_GUI__
push 0x4ee730
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415583
cmp byte [0x5102e0], 0
je 0x415485
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0x4ee6ec
push 0x4ee6fc
push 0
call esi
jmp 0x41548b
cmp byte [0x5102e0], 0
je 0x415583
push 0
push str.add_peers_GUI__
push 0x4ee75c
push 0
call esi
mov edi, dword [ebp - 0x4ec]
mov eax, dword [edi]
mov dword [edi], edi
mov dword [edi + 4], edi
cmp eax, edi
je 0x4155a7
mov esi, dword [eax]
push 0xc
push eax
call fcn.004ad677
add esp, 8
mov eax, esi
cmp esi, edi
jne 0x415594
push 0xc
push edi
call fcn.004ad677
mov edi, dword [ebp - 0x4f8]
add esp, 8
mov eax, dword [edi]
mov dword [edi], edi
mov dword [edi + 4], edi
cmp eax, edi
je 0x4155d6
mov esi, dword [eax]
push 0xc
push eax
call fcn.004ad677
add esp, 8
mov eax, esi
cmp esi, edi
jne 0x4155c3
push 0xc
push edi
call fcn.004ad677
mov edi, dword [ebp - 0x4f0]
add esp, 8
mov eax, dword [edi]
mov dword [edi], edi
mov dword [edi + 4], edi
cmp eax, edi
je 0x415605
mov esi, dword [eax]
push 0xc
push eax
call fcn.004ad677
add esp, 8
mov eax, esi
cmp esi, edi
jne 0x4155f2
push 0xc
push edi
call fcn.004ad677
add esp, 8
lea ecx, [ebp - 0x1e0]
call fcn.004159a0
lea ecx, [ebp - 0x4e0]
call fcn.00414370
mov eax, dword [ebp - 0x500]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ad19c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.list_T__too_long
call fcn.004a92fb
mov dh, 0x4b
inc ecx
add byte [ebp - 0x3bffbeb5], bh
dec ebx
inc ecx
add byte [eax], al
add dword [edx], eax
add dword [eax], eax
add al, byte [edx]
add al, byte [edx]
add esp, ecx
int3