Function at 0x472f90
Capabilities:
Create thread
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x488065
mov eax, dword fs:[0]
push eax
sub esp, 0xc2c
mov eax, dword [0x4a3350]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xc00], esi
xor edi, edi
mov dword [ebp - 0xbe4], edi
mov dword [ebp - 0xbec], edi
lea eax, [ebp - 0xbcc]
mov dword [ebp - 4], 1
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x4744a5
mov eax, dword [ebp - 0xbcc]
cmp al, 2
jne 0x4744a5
shr eax, 8
cmp al, 2
jne 0x4744a5
push edi
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
push edi
mov dword [ebp - 0xbfc], eax
call dword [sym.imp.WS2_32.dll_htonl]
push dword [ebp + 8]
mov dword [ebp - 0x9ac], eax
mov eax, 2
mov word [ebp - 0x9b0], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x9ae], ax
lea eax, [ebp - 0x9b0]
push 0x10
push eax
push dword [ebp - 0xbfc]
call dword [sym.imp.WS2_32.dll_bind]
push 0x3ff
lea eax, [ebp - 0x40f]
mov byte [ebp - 0x410], 0
push edi
push eax
call fcn.00424c50
add esp, 0xc
mov dword [ebp - 0x970], 0x10
lea eax, [ebp - 0xbf0]
mov ecx, esi
push eax
push 0xa
lea eax, [ebp - 0x93c]
push eax
call fcn.00471120
test al, al
je 0x4744a5
push 0x74
lea eax, [ebp - 0xa3c]
push edi
push eax
call fcn.00424c50
add esp, 0xc
lea ecx, [ebp - 0xa3c]
call fcn.00408af0
xorps xmm0, xmm0
mov byte [ebp - 4], 2
push edi
lea ecx, [ebp - 0x96c]
movq qword [ebp - 0x95c], xmm0
movdqu xmmword [ebp - 0x96c], xmm0
call fcn.00402bf0
mov byte [ebp - 4], 3
call fcn.00419ec0
push 6
mov ecx, eax
push edi
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x473286
call fcn.00419ec0
push 6
mov ecx, eax
push edi
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov edx, 0x2000
mov dword [ebp - 0xbe8], eax
mov ecx, 0xa
mov dword [ebp - 0x940], edi
xorps xmm0, xmm0
mov dword [ebp - 0xbf4], ecx
sub edx, dword [eax + 0x20]
lea esi, [eax + 0x24]
add esi, dword [eax + 0x20]
add edx, esi
movq qword [ebp - 0x948], xmm0
mov eax, edx
mov dword [ebp - 0x948], esi
sub eax, esi
mov dword [ebp - 0xbec], edx
mov dword [ebp - 0x944], edx
mov dword [ebp - 0x940], esi
cmp eax, ecx
jae 0x47316d
mov ecx, eax
mov dword [ebp - 0xbf4], ecx
test eax, eax
je 0x47318e
push ecx
push 0x4989a4
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbf4]
mov dword [ebp - 0x940], esi
lea ecx, [ebp - 0x93c]
lea eax, [ecx + 1]
mov dword [ebp - 0xbf0], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4731a0
sub ecx, dword [ebp - 0xbf0]
mov eax, edx
sub eax, esi
cmp ecx, eax
cmova ecx, eax
mov dword [ebp - 0xbf0], ecx
test ecx, ecx
je 0x4731e3
push ecx
lea eax, [ebp - 0x93c]
push eax
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbf0]
mov dword [ebp - 0x940], esi
mov eax, edx
mov ecx, 5
sub eax, esi
mov dword [ebp - 0xbf4], ecx
cmp eax, ecx
jae 0x473202
mov ecx, eax
mov dword [ebp - 0xbf4], ecx
test eax, eax
je 0x47321d
push ecx
push str._Port
push esi
call fcn.00424600
add esp, 0xc
add esi, dword [ebp - 0xbf4]
mov dword [ebp - 0x940], esi
mov eax, dword [ebp + 8]
cdq
test edx, edx
jg 0x473249
jl 0x47322b
test eax, eax
jae 0x473249
mov ecx, dword [ebp - 0xbec]
neg eax
adc edx, 0
sub ecx, esi
neg edx
cmp ecx, 1
jle 0x473249
mov byte [esi], 0x2d
inc esi
mov dword [ebp - 0x940], esi
push 0xa
push 0
push edx
push eax
lea ecx, [ebp - 0x948]
call fcn.0041d080
mov esi, dword [ebp - 0xbe8]
mov eax, dword [ebp - 0x940]
sub eax, dword [ebp - 0x948]
add dword [esi + 0x20], eax
call fcn.00419ec0
push 0xbc
push str.UDP_Radio_Server.cpp
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov esi, dword [ebp - 0xbfc]
lea esp, [esp]
push 0x400
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00424c50
add esp, 0xc
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0xbdc]
push eax
push 0
push 0x400
lea eax, [ebp - 0x810]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
je 0x4740a0
push dword [ebp - 0xbd8]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp - 0xbe8], eax
test eax, eax
je 0x47356a
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x47356a
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov edx, 0x2000
mov dword [ebp - 0xbf0], eax
mov ecx, dword [eax + 0x20]
sub edx, ecx
add ecx, 0x24
add eax, ecx
add edx, eax
mov dword [ebp - 0xbf4], eax
mov esi, eax
mov dword [ebp - 0xbec], edx
mov ecx, edx
mov eax, 0x16
sub ecx, esi
mov dword [ebp - 0xbf8], eax
cmp ecx, eax
jae 0x47335c
mov eax, ecx
mov dword [ebp - 0xbf8], eax
test ecx, ecx
je 0x47337d
mov esi, dword [ebp - 0xbf4]
push eax
push 0x4989b8
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbf8]
mov ecx, dword [ebp - 0xbe8]
lea eax, [ecx + 1]
mov dword [ebp - 0xbf8], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473390
sub ecx, dword [ebp - 0xbf8]
mov eax, edx
sub eax, esi
cmp ecx, eax
cmova ecx, eax
mov dword [ebp - 0xbf8], ecx
test ecx, ecx
je 0x4733cc
push ecx
push dword [ebp - 0xbe8]
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbf8]
mov eax, edx
mov ecx, 6
sub eax, esi
mov dword [ebp - 0xbe8], ecx
cmp eax, ecx
jae 0x4733eb
mov ecx, eax
mov dword [ebp - 0xbe8], ecx
test eax, eax
je 0x473406
push ecx
push 0x4989d0
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbe8]
lea ecx, [ebp - 0x810]
lea eax, [ecx + 1]
mov dword [ebp - 0xbe8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473415
sub ecx, dword [ebp - 0xbe8]
mov eax, edx
sub eax, esi
cmp ecx, eax
cmova ecx, eax
mov dword [ebp - 0xbe8], ecx
test ecx, ecx
je 0x473452
push ecx
lea eax, [ebp - 0x810]
push eax
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbe8]
mov eax, edx
mov ecx, 2
sub eax, esi
mov dword [ebp - 0xbe8], ecx
cmp eax, ecx
jae 0x473471
mov ecx, eax
mov dword [ebp - 0xbe8], ecx
test eax, eax
je 0x47348c
push ecx
push 0x49c12c
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbe8]
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
cmovae eax, dword [ebp + 0xc]
mov dword [ebp - 0xbe8], eax
mov eax, edx
sub eax, esi
cmp ecx, eax
cmova ecx, eax
mov dword [ebp - 0xbf8], ecx
test ecx, ecx
je 0x4734cf
push ecx
push dword [ebp - 0xbe8]
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbf8]
mov eax, edx
mov ecx, 2
sub eax, esi
mov dword [ebp - 0xbe8], ecx
cmp eax, ecx
jae 0x4734ee
mov ecx, eax
mov dword [ebp - 0xbe8], ecx
test eax, eax
je 0x473509
push ecx
push 0x49c12c
push esi
call fcn.00424600
mov edx, dword [ebp - 0xbec]
add esp, 0xc
add esi, dword [ebp - 0xbe8]
cmp dword [ebp + 0x38], 0x10
lea ecx, [ebp + 0x24]
mov eax, dword [ebp + 0x34]
cmovae ecx, dword [ebp + 0x24]
sub edx, esi
cmp eax, edx
cmova eax, edx
mov dword [ebp - 0xbe8], eax
test eax, eax
je 0x473539
push eax
push ecx
push esi
call fcn.00424600
add esp, 0xc
add esi, dword [ebp - 0xbe8]
mov eax, dword [ebp - 0xbf0]
sub esi, dword [ebp - 0xbf4]
add dword [eax + 0x20], esi
call fcn.00419ec0
push 0xc6
push str.UDP_Radio_Server.cpp
push dword [ebp - 0xbf0]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov esi, dword [ebp - 0xbfc]
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x954]
call fcn.004051a0
push 1
lea eax, [ebp - 0x96c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x954]
push eax
lea ecx, [ebp - 0xa3c]
call fcn.00408c40
cmp dword [ebp - 0x940], 0x10
mov byte [ebp - 0xbdd], al
mov byte [ebp - 4], 3
jb 0x4735c2
push dword [ebp - 0x954]
call fcn.004235a4
mov al, byte [ebp - 0xbdd]
add esp, 4
test al, al
je 0x4740a0
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x47362f
lea eax, [ebp - 0xc18]
push eax
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
or edi, 1
mov byte [ebp - 4], 5
push str.endfiledown
push eax
mov dword [ebp - 0xbe4], edi
mov dword [ebp - 0xbec], edi
call fcn.00413110
add esp, 8
mov byte [ebp - 0xbdd], 1
test al, al
jne 0x473636
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 3
test al, 1
je 0x47365b
and eax, 0xfffffffe
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x4736ad
lea eax, [ebp - 0x410]
push str._cmd_:_endfiledown___code_:_ok_
push eax
call fcn.00472f20
lea ecx, [ebp - 0x410]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473681
push 0x10
lea eax, [ebp - 0xbdc]
sub ecx, edx
push eax
push 0
push ecx
lea eax, [ebp - 0x410]
push eax
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x474485
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473733
lea eax, [ebp - 0xc18]
push eax
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov edi, dword [ebp - 0xbe4]
or edi, 2
mov byte [ebp - 4], 6
push str.getip
push eax
mov dword [ebp - 0xbe4], edi
mov dword [ebp - 0xbec], edi
call fcn.00413110
add esp, 8
test al, al
je 0x473733
push 0x4986fc
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
mov byte [ebp - 0xbdd], 1
test al, al
je 0x47373a
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 3
test al, 2
je 0x47375f
and eax, 0xfffffffd
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x473a3c
lea ecx, [ebp - 0x93c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473775
sub ecx, edx
je 0x473862
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473862
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x473862
lea eax, [ebp - 0x9a0]
push eax
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov ecx, eax
mov eax, dword [ebp - 0xbe4]
or eax, 4
mov byte [ebp - 4], 7
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0xbe4], eax
mov dword [ebp - 0xbec], eax
jb 0x473803
mov ecx, dword [ecx]
push str.update
push ecx
call fcn.00481c41
add esp, 8
test eax, eax
jne 0x473862
lea eax, [ebp - 0xc18]
push eax
push 0x4986fc
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
or dword [ebp - 0xbe4], 8
lea ecx, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
cmovae ecx, dword [ebp + 0xc]
cmp dword [eax + 0x14], 0x10
jb 0x47384d
mov eax, dword [eax]
push ecx
push eax
call fcn.00481c41
add esp, 8
mov byte [ebp - 0xbdd], 1
test eax, eax
je 0x473869
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
test al, 8
je 0x47388d
and eax, 0xfffffff7
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 3
test al, 4
je 0x4738ac
and eax, 0xfffffffb
lea ecx, [ebp - 0x9a0]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x473913
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x93c]
push eax
lea eax, [ebp - 0x410]
push str._cmd_:_getip___ip_:__s___vertype_:_update___ver_:__s_
push eax
call fcn.00472f20
lea ecx, [ebp - 0x410]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4738e5
push 0x10
lea eax, [ebp - 0xbdc]
sub ecx, edx
push eax
push 0
push ecx
lea eax, [ebp - 0x410]
push eax
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x473913
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea ecx, [ebp - 0x93c]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473920
sub ecx, edx
je 0x4739ab
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x4739ab
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x4739ab
lea eax, [ebp - 0xc18]
push eax
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
or dword [ebp - 0xbe4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x473992
mov eax, dword [eax]
push str.business
push eax
call fcn.00481c41
add esp, 8
mov byte [ebp - 0xbdd], 1
test eax, eax
je 0x4739b2
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
test al, 0x10
je 0x4739d0
and eax, 0xffffffef
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x473a3c
cmp dword [ebp + 0x38], 0x10
lea eax, [ebp + 0x24]
cmovae eax, dword [ebp + 0x24]
push eax
lea eax, [ebp - 0x93c]
push eax
lea eax, [ebp - 0x410]
push str._cmd_:_getip___ip_:__s___ver_:__s_
push eax
call fcn.00472f20
lea ecx, [ebp - 0x410]
add esp, 0x10
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473a10
push 0x10
lea eax, [ebp - 0xbdc]
sub ecx, edx
push eax
push 0
push ecx
lea eax, [ebp - 0x410]
push eax
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x474485
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473aa7
lea eax, [ebp - 0xc18]
push eax
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov edi, dword [ebp - 0xbe4]
or edi, 0x20
mov byte [ebp - 4], 8
push str.getfiles
push eax
mov dword [ebp - 0xbe4], edi
mov dword [ebp - 0xbec], edi
call fcn.00413110
add esp, 8
mov byte [ebp - 0xbdd], 1
test al, al
jne 0x473aae
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 3
test al, 0x20
je 0x473ad3
and eax, 0xffffffdf
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x473c6e
push 0x49bc14
lea ecx, [ebp - 0x954]
call fcn.004051a0
mov eax, dword [ebp - 0xc00]
xor esi, esi
mov byte [ebp - 4], 9
mov dword [ebp - 0xbf0], esi
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x473bcc
xor edi, edi
cmp dword [ebp - 0x944], 0
jbe 0x473b3b
push 0x49c244
lea ecx, [ebp - 0x954]
call fcn.004052a0
push 0xd
push str._fileName_:_
lea ecx, [ebp - 0x954]
call fcn.00406670
mov ecx, dword [ebp - 0xc00]
mov edx, dword [ecx]
add edx, edi
cmp dword [edx + 0x14], 0x10
jb 0x473b5f
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x473b68
xor eax, eax
jmp 0x473b7f
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x473b70
sub eax, esi
mov esi, dword [ebp - 0xbf0]
push eax
push edx
lea ecx, [ebp - 0x954]
call fcn.00406670
push 2
push 0x498660
lea ecx, [ebp - 0x954]
call fcn.00406670
mov eax, dword [ebp - 0xc00]
inc esi
add edi, 0x18
mov dword [ebp - 0xbf0], esi
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jl 0x473b22
cmp dword [ebp + 0x38], 0x10
lea edx, [ebp + 0x24]
mov ecx, dword [ebp - 0xc00]
cmovae edx, dword [ebp + 0x24]
add ecx, 0x24
cmp dword [ecx + 0x14], 0x10
jb 0x473be8
mov ecx, dword [ecx]
cmp dword [ebp - 0x940], 0x10
lea eax, [ebp - 0x954]
push edx
cmovae eax, dword [ebp - 0x954]
push ecx
push eax
lea eax, [ebp - 0x410]
push str._fileNames_:__s___postjson_:_s__ver_:__s_
push eax
call fcn.00425315
lea ecx, [ebp - 0x410]
add esp, 0x14
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473c20
push 0x10
lea eax, [ebp - 0xbdc]
sub ecx, edx
push eax
push 0
push ecx
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0xbfc]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x473c53
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [ebp - 0x940], 0x10
mov byte [ebp - 4], 3
jb 0x473c6e
push dword [ebp - 0x954]
call fcn.004235a4
add esp, 4
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473cd9
lea eax, [ebp - 0x9a0]
push eax
push 0x498834
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov edi, dword [ebp - 0xbe4]
or edi, 0x40
mov byte [ebp - 4], 0xa
push str.fileNamedown
push eax
mov dword [ebp - 0xbe4], edi
mov dword [ebp - 0xbec], edi
call fcn.00413110
add esp, 8
mov byte [ebp - 0xbdd], 1
test al, al
jne 0x473ce0
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 3
test al, 0x40
je 0x473d11
and eax, 0xffffffbf
cmp dword [ebp - 0x98c], 0x10
mov dword [ebp - 0xbe4], eax
jb 0x473d11
push dword [ebp - 0x9a0]
call fcn.004235a4
add esp, 4
cmp byte [ebp - 0xbdd], 0
je 0x47409a
push str.prot
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473dae
push str.prot
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.004032b0
test eax, eax
jle 0x473dae
push str.recvip
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473dae
lea eax, [ebp - 0xc18]
push eax
push str.recvip
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov ecx, dword [ebp - 0xbe4]
or ecx, 0x80
mov dword [ebp - 0xbe4], ecx
cmp dword [eax + 0x10], 0
jbe 0x473db4
mov byte [ebp - 0xbdd], 1
jmp 0x473dbb
mov ecx, dword [ebp - 0xbe4]
mov byte [ebp - 0xbdd], 0
test cl, cl
jns 0x473dd6
and ecx, 0xffffff7f
mov dword [ebp - 0xbe4], ecx
lea ecx, [ebp - 0xc18]
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x47409a
push str._cmd_:_fileNamedown___code_:0
lea ecx, [ebp - 0x954]
call fcn.004051a0
push 0x49bc14
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0xb
call fcn.004051a0
lea eax, [ebp - 0xc38]
mov byte [ebp - 4], 0xc
push eax
push str.filemd5
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xd
jb 0x473e35
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x988]
call fcn.004051a0
lea ecx, [ebp - 0xc38]
mov byte [ebp - 4], 0xf
call fcn.00405270
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473ecf
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x473ecf
lea eax, [ebp - 0xc18]
push eax
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
or dword [ebp - 0xbe4], 0x100
cmp dword [eax + 0x14], 0x10
jb 0x473eb6
mov eax, dword [eax]
push str.update
push eax
call fcn.00481c41
add esp, 8
mov byte [ebp - 0xbdd], 1
test eax, eax
je 0x473ed6
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
test eax, 0x100
je 0x473ef9
and eax, 0xfffffeff
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x4740b7
push str.filemd5
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x473fa1
push str.filemd5
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x473fa1
cmp dword [ebp - 0x974], 0x10
lea eax, [ebp - 0x988]
lea ecx, [ebp - 0xc18]
cmovae eax, dword [ebp - 0x988]
push eax
call fcn.004051a0
mov eax, dword [ebp - 0xbe4]
mov ecx, dword [0x4aa70c]
or eax, 0x200
mov dword [ebp - 0xbe4], eax
mov dword [ebp - 0xbec], eax
lea eax, [ebp - 0xc18]
push eax
mov esi, dword [ecx]
lea eax, [ebp - 0xc1c]
push eax
mov byte [ebp - 4], 0x10
call fcn.00470ea0
mov byte [ebp - 0xbdd], 1
cmp dword [eax], esi
jne 0x473fa8
mov byte [ebp - 0xbdd], 0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 4], 0xf
test eax, 0x200
je 0x473fd2
and eax, 0xfffffdff
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], eax
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
lea ecx, [ebp - 0x954]
jne 0x4740ad
push str._cmd_:_fileNamedown___code_:_1
call fcn.004129f0
cmp dword [ebp - 0x940], 0x10
lea ecx, [ebp - 0xbdc]
mov esi, dword [ebp - 0xbfc]
lea eax, [ebp - 0x954]
cmovae eax, dword [ebp - 0x954]
push 0x10
push ecx
push 0
push dword [ebp - 0x944]
push eax
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x47402d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea ecx, [ebp - 0x988]
call fcn.00405270
lea ecx, [ebp - 0x9a0]
call fcn.00405270
lea ecx, [ebp - 0x954]
mov byte [ebp - 4], 3
call fcn.00405270
push 0x400
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00424c50
add esp, 0xc
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0xbdc]
push eax
push 0
push 0x400
lea eax, [ebp - 0x810]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recvfrom]
mov edi, dword [ebp - 0xbe4]
cmp eax, 0xffffffff
jne 0x4732d2
mov edi, dword [ebp - 0xbe4]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x473286
push str._cmd_:_fileNamedown___code_:0
call fcn.004129f0
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x474140
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x474140
lea eax, [ebp - 0xc18]
push eax
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov edi, dword [ebp - 0xbe4]
or edi, 0x400
mov dword [ebp - 0xbe4], edi
cmp dword [eax + 0x14], 0x10
jb 0x474125
mov eax, dword [eax]
push str.business
push eax
call fcn.00481c41
add esp, 8
test eax, eax
jne 0x474146
mov byte [ebp - 0xbdd], 1
jmp 0x47414d
mov edi, dword [ebp - 0xbe4]
mov byte [ebp - 0xbdd], 0
test edi, 0x400
je 0x47416c
and edi, 0xfffffbff
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], edi
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
je 0x4741e5
cmp dword [ebp - 0x974], 0x10
lea eax, [ebp - 0x988]
lea ecx, [ebp - 0xc18]
cmovae eax, dword [ebp - 0x988]
push eax
call fcn.004051a0
mov ecx, dword [0x4aa710]
lea eax, [ebp - 0xc18]
push eax
lea eax, [ebp - 0xc20]
mov byte [ebp - 4], 0x11
push eax
mov esi, dword [ecx]
call fcn.00470ea0
lea ecx, [ebp - 0xc18]
mov byte [ebp - 4], 0xf
cmp dword [eax], esi
setne byte [ebp - 0xbdd]
call fcn.00405270
cmp byte [ebp - 0xbdd], 0
lea ecx, [ebp - 0x954]
je 0x47423b
push str._cmd_:_fileNamedown___code_:0
call fcn.004129f0
cmp dword [ebp - 0x940], 0x10
lea ecx, [ebp - 0xbdc]
push 0x10
push ecx
push 0
push dword [ebp - 0x944]
lea eax, [ebp - 0x954]
cmovae eax, dword [ebp - 0x954]
push eax
push dword [ebp - 0xbfc]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x474222
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0x4c
call fcn.00423553
add esp, 4
test eax, eax
je 0x4742ad
mov ecx, eax
call fcn.0046b510
mov esi, eax
jmp 0x4742af
push str._cmd_:_fileNamedown___code_:_1
call fcn.004129f0
cmp dword [ebp - 0x940], 0x10
lea ecx, [ebp - 0xbdc]
mov esi, dword [ebp - 0xbfc]
lea eax, [ebp - 0x954]
cmovae eax, dword [ebp - 0x954]
push 0x10
push ecx
push 0
push dword [ebp - 0x944]
push eax
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x474283
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea ecx, [ebp - 0x988]
call fcn.00405270
lea ecx, [ebp - 0x9a0]
call fcn.00405270
lea ecx, [ebp - 0x954]
mov byte [ebp - 4], 3
call fcn.00405270
jmp 0x473290
xor esi, esi
lea eax, [ebp - 0xc18]
push eax
push str.recvip
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, esi
call fcn.0040b780
lea ecx, [ebp - 0xc18]
call fcn.00405270
push str.prot
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.004032b0
push str.vertype
lea ecx, [ebp - 0x96c]
mov dword [esi + 0x18], eax
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x47437b
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00404e60
test al, al
je 0x47437b
lea eax, [ebp - 0xc18]
push eax
push str.vertype
lea ecx, [ebp - 0x96c]
call fcn.00404870
mov ecx, eax
call fcn.00403130
or edi, 0x800
mov dword [ebp - 0xbe4], edi
cmp dword [eax + 0x14], 0x10
jb 0x474362
mov eax, dword [eax]
push str.update
push eax
call fcn.00481c41
add esp, 8
mov byte [ebp - 0xbdd], 1
test eax, eax
je 0x474382
mov byte [ebp - 0xbdd], 0
test edi, 0x800
je 0x4743a1
and edi, 0xfffff7ff
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0xbe4], edi
call fcn.00405270
lea eax, [ebp - 0xc18]
push eax
lea ecx, [ebp - 0x96c]
push str.filemd5
call fcn.00404870
mov ecx, eax
call fcn.00403130
cmp byte [ebp - 0xbdd], 0
je 0x4743fa
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x12
jb 0x4743d4
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x1c]
call fcn.004129f0
lea ecx, [ebp - 0xc18]
call fcn.00405270
push esi
push 0
push 0x4746a0
call fcn.00483055
add esp, 0xc
jmp 0x474453
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x13
jb 0x474406
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x9c8]
call fcn.004051a0
lea ecx, [ebp - 0xc18]
mov byte [ebp - 4], 0x15
call fcn.00405270
lea ecx, [esi + 0x1c]
lea eax, [ebp - 0x988]
cmp ecx, eax
je 0x474438
push 0xffffffffffffffff
push 0
push eax
call fcn.00406850
push esi
push 0
push 0x474500
call fcn.00483055
add esp, 0xc
lea ecx, [ebp - 0x9c8]
call fcn.00405270
lea ecx, [ebp - 0x988]
call fcn.00405270
lea ecx, [ebp - 0x9a0]
call fcn.00405270
lea ecx, [ebp - 0x954]
mov byte [ebp - 4], 3
call fcn.00405270
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x473286
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 2
call fcn.00402ea0
lea ecx, [ebp - 0xa3c]
call fcn.0041dcf0
cmp dword [ebp + 0x20], 0x10
jb 0x4744b6
push dword [ebp + 0xc]
call fcn.004235a4
add esp, 4
cmp dword [ebp + 0x38], 0x10
mov dword [ebp + 0x20], 0xf
mov dword [ebp + 0x1c], 0
mov byte [ebp + 0xc], 0
jb 0x4744d9
push dword [ebp + 0x24]
call fcn.004235a4
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042419e
mov esp, ebp
pop ebp
ret 0x34