Function at 0x489230
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
mov eax, dword [0x5a8a20]
sub esp, 0x7d8
push ebx
push ebp
push esi
mov esi, eax
xor ebp, ebp
cmp esi, ebp
mov ebx, edx
je 0x489257
cmp dword [esi + 0x7c], ecx
je 0x489263
mov esi, dword [esi + 0x80]
cmp esi, ebp
jne 0x489248
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov ecx, ebx
shr ecx, 0x10
test ecx, ecx
push edi
je 0x48940a
cmp eax, ebp
mov ebx, dword [esi + 0x70]
je 0x489e7c
lea esp, [esp]
cmp esi, eax
je 0x48929b
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489280
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov edx, 0x3e7
lea ecx, [esp + 0x48]
call fcn.0041ef30
lea edx, [esp + 0x48]
mov ecx, 0xa93
call fcn.0041d620
mov edi, dword [0x5ab6c4]
cmp edi, ebp
je 0x489306
cmp dword [edi + 8], ebx
jne 0x4892d1
mov ecx, edi
call fcn.004e29b0
test eax, eax
je 0x4892dd
mov edi, dword [edi + 0x2424]
cmp edi, ebp
jne 0x4892c1
jmp 0x489306
lea edx, [esp + 0x48]
lea ebp, [edi + 0x444]
push edx
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ee40
mov ecx, edi
call fcn.0054a7d0
mov edx, edi
mov ecx, ebp
call fcn.0054a630
xor ebp, ebp
push 2
lea eax, [esp + 0x4c]
push 0x586074
push eax
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x489342
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489325
sub eax, edx
inc eax
push eax
lea ecx, [esp + 0x4e]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00571040
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x48]
call fcn.00524ec0
mov ecx, dword [0x5a3a48]
cmp ecx, ebp
je 0x489369
cmp dword [ecx + 0x52c], ebx
je 0x4893a4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x489357
mov ecx, dword [0x5afc18]
cmp ecx, ebp
je 0x489385
cmp dword [ecx + 0x340], ebx
je 0x4893b5
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x489373
mov ecx, dword [0x5a8ba4]
cmp ecx, ebp
je 0x4893db
nop
cmp dword [ecx + 0x444], ebx
je 0x4893c9
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x489390
jmp 0x4893db
lea edx, [esp + 0x48]
mov dword [ecx + 0x52c], ebp
call fcn.0042cb60
jmp 0x4893db
lea eax, [esp + 0x48]
push eax
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.00515c80
jmp 0x4893db
lea edx, [esp + 0x48]
push edx
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.00490190
mov eax, dword [0x5a8a20]
cmp eax, ebp
je 0x4893f6
cmp esi, eax
je 0x489baa
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4893e4
mov ecx, ebx
call fcn.00488360
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov edx, 0x3b5
lea ecx, [esp + 0x430]
mov dword [esi + 0x74], 0xb4
call fcn.0041ef30
mov ebp, dword [sym.imp.WSOCK32.dll_recv]
xor edi, edi
lea ebx, [ebx]
mov edx, dword [esi + 0x7c]
push 0
mov eax, 0x3b4
sub eax, edi
push eax
lea ecx, [esp + edi + 0x438]
push ecx
push edx
call ebp
cmp eax, 0xffffffff
je 0x48945b
test eax, eax
je 0x489496
add edi, eax
cmp edi, 0x383
jb 0x489430
cmp bx, 0x20
jne 0x4897be
mov eax, dword [0x5a8a20]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x489e7c
cmp esi, eax
je 0x48963e
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489477
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
test edi, edi
jne 0x48945b
mov eax, dword [0x5a8a20]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x489e7c
lea esp, [esp]
cmp esi, eax
je 0x4894cb
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4894b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov edx, 0x3e7
lea ecx, [esp + 0x48]
call fcn.0041ef30
lea edx, [esp + 0x48]
mov ecx, 0xa94
call fcn.0041d620
mov edi, dword [0x5ab6c4]
cmp edi, ebp
je 0x489536
cmp dword [edi + 8], ebx
jne 0x489501
mov ecx, edi
call fcn.004e29b0
test eax, eax
je 0x48950d
mov edi, dword [edi + 0x2424]
cmp edi, ebp
jne 0x4894f1
jmp 0x489536
lea eax, [esp + 0x48]
lea ebp, [edi + 0x444]
push eax
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ee40
mov ecx, edi
call fcn.0054a7d0
mov edx, edi
mov ecx, ebp
call fcn.0054a630
xor ebp, ebp
push 2
lea ecx, [esp + 0x4c]
push 0x586074
push ecx
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x489572
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489555
sub eax, edx
inc eax
push eax
lea edx, [esp + 0x4e]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.00571040
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x48]
call fcn.00524ec0
mov ecx, dword [0x5a3a48]
cmp ecx, ebp
je 0x489599
cmp dword [ecx + 0x52c], ebx
je 0x4895d4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x489587
mov ecx, dword [0x5afc18]
cmp ecx, ebp
je 0x4895b5
cmp dword [ecx + 0x340], ebx
je 0x4895e5
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x4895a3
mov ecx, dword [0x5a8ba4]
cmp ecx, ebp
je 0x48960b
nop
cmp dword [ecx + 0x444], ebx
je 0x4895f9
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x4895c0
jmp 0x48960b
lea edx, [esp + 0x48]
mov dword [ecx + 0x52c], ebp
call fcn.0042cb60
jmp 0x48960b
lea edx, [esp + 0x48]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.00515c80
jmp 0x48960b
lea eax, [esp + 0x48]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.00490190
mov eax, dword [0x5a8a20]
cmp eax, ebp
je 0x4893f6
cmp esi, eax
je 0x489baa
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489618
mov ecx, ebx
call fcn.00488360
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov edx, 0x3e7
lea ecx, [esp + 0x48]
call fcn.0041ef30
lea edx, [esp + 0x48]
mov ecx, 0xa94
call fcn.0041d620
mov edi, dword [0x5ab6c4]
cmp edi, ebp
je 0x4896a9
cmp dword [edi + 8], ebx
jne 0x489674
mov ecx, edi
call fcn.004e29b0
test eax, eax
je 0x489680
mov edi, dword [edi + 0x2424]
cmp edi, ebp
jne 0x489664
jmp 0x4896a9
lea ecx, [esp + 0x48]
lea ebp, [edi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ee40
mov ecx, edi
call fcn.0054a7d0
mov edx, edi
mov ecx, ebp
call fcn.0054a630
xor ebp, ebp
push 2
lea edx, [esp + 0x4c]
push 0x586074
push edx
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x4896e5
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4896c8
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x4e]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00571040
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x48]
call fcn.00524ec0
mov ecx, dword [0x5a3a48]
cmp ecx, ebp
je 0x489712
lea ebx, [ebx]
cmp dword [ecx + 0x52c], ebx
je 0x489754
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x489700
mov ecx, dword [0x5afc18]
cmp ecx, ebp
je 0x489732
lea esp, [esp]
cmp dword [ecx + 0x340], ebx
je 0x489765
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x489720
mov ecx, dword [0x5a8ba4]
cmp ecx, ebp
je 0x48978b
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x489779
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x489740
jmp 0x48978b
lea edx, [esp + 0x48]
mov dword [ecx + 0x52c], ebp
call fcn.0042cb60
jmp 0x48978b
lea edx, [esp + 0x48]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.00515c80
jmp 0x48978b
lea eax, [esp + 0x48]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.00490190
mov eax, dword [0x5a8a20]
cmp eax, ebp
je 0x4893f6
cmp esi, eax
je 0x489baa
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489798
mov ecx, ebx
call fcn.00488360
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov ecx, dword [0x5b4314]
mov edx, dword [esi + 0x7c]
mov ebx, dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
push 0
push 0
push ecx
push edx
call ebx
mov eax, dword [esi + 0x78]
mov ebp, 2
cmp eax, ebp
jne 0x489bbe
mov eax, dword [esi + 0x6c]
cmp eax, ebp
je 0x4897f5
cmp eax, 3
jne 0x48991d
mov cl, byte [esp + 0x430]
xor edi, edi
cmp cl, 0x20
lea eax, [esp + 0x430]
jne 0x489819
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x489810
push 0x20
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x489849
cmp byte [eax], 0x20
jne 0x489839
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x489830
cmp byte [eax], 0
je 0x489849
push eax
call fcn.005705cb
add esp, 4
mov edi, eax
cmp dword [esi + 0x6c], ebp
jne 0x489866
cmp edi, 0x191
je 0x489e7c
cmp edi, 0x197
je 0x489e7c
cmp edi, 0xc8
jne 0x48991d
mov edi, dword [0x5ab6c4]
test edi, edi
je 0x48989a
mov eax, dword [esi + 0x70]
nop
cmp dword [edi + 8], eax
jne 0x489890
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x48994f
mov edi, dword [edi + 0x2424]
test edi, edi
jne 0x489880
mov edi, dword [0x5a3a48]
test edi, edi
je 0x4898c6
mov eax, dword [esi + 0x70]
jmp 0x4898b0
cmp dword [edi + 0x52c], eax
je 0x48997d
mov edi, dword [edi + 0x88c]
test edi, edi
jne 0x4898b0
mov edi, dword [0x5afc18]
test edi, edi
je 0x4898f0
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x340], eax
jne 0x4898e6
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x4899b6
mov edi, dword [edi + 0x3cc]
test edi, edi
jne 0x4898d3
mov edi, dword [0x5a8ba4]
test edi, edi
je 0x48991d
mov eax, dword [esi + 0x70]
lea ecx, [ecx]
cmp dword [edi + 0x444], eax
jne 0x489913
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x489a03
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x489900
mov eax, dword [0x5a8a20]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x489e7c
nop
cmp esi, eax
je 0x489a31
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489930
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esi + 0x7c]
mov dword [edi + 4], eax
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.0054b780
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x4898c6
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x884], ecx
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, edi
call fcn.0042d650
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x3c4], edx
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov eax, dword [edi + 0x378]
test eax, eax
mov ecx, edi
je 0x4899ee
call fcn.00516de0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
call fcn.00516a90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x4b0], eax
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, edi
call fcn.00490b60
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov edx, 0x3e7
lea ecx, [esp + 0x48]
call fcn.0041ef30
lea edx, [esp + 0x48]
mov ecx, 0xa97
call fcn.0041d620
mov edi, dword [0x5ab6c4]
cmp edi, ebp
je 0x489a9c
cmp dword [edi + 8], ebx
jne 0x489a67
mov ecx, edi
call fcn.004e29b0
test eax, eax
je 0x489a73
mov edi, dword [edi + 0x2424]
cmp edi, ebp
jne 0x489a57
jmp 0x489a9c
lea ecx, [esp + 0x48]
lea ebp, [edi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ee40
mov ecx, edi
call fcn.0054a7d0
mov edx, edi
mov ecx, ebp
call fcn.0054a630
xor ebp, ebp
push 2
lea edx, [esp + 0x4c]
push 0x586074
push edx
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x489add
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
jmp 0x489ac0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489ac0
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x4e]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00571040
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x48]
call fcn.00524ec0
mov ecx, dword [0x5a3a48]
cmp ecx, ebp
je 0x489b04
cmp dword [ecx + 0x52c], ebx
je 0x489b44
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x489af2
mov ecx, dword [0x5afc18]
cmp ecx, ebp
je 0x489b22
mov edi, edi
cmp dword [ecx + 0x340], ebx
je 0x489b55
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x489b10
mov ecx, dword [0x5a8ba4]
cmp ecx, ebp
je 0x489b7b
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x489b69
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x489b30
jmp 0x489b7b
lea edx, [esp + 0x48]
mov dword [ecx + 0x52c], ebp
call fcn.0042cb60
jmp 0x489b7b
lea edx, [esp + 0x48]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.00515c80
jmp 0x489b7b
lea eax, [esp + 0x48]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.00490190
mov eax, dword [0x5a8a20]
cmp eax, ebp
je 0x4893f6
cmp esi, eax
je 0x489baa
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x489b88
mov ecx, ebx
call fcn.00488360
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov ecx, esi
call fcn.00488280
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
test eax, eax
jne 0x489cf8
movzx ecx, byte [esp + 0x431]
cmp ecx, 0x5a
jl 0x489bd8
cmp ecx, 0x5d
jle 0x489bdd
mov ecx, 0x5e
cmp dword [esi + 0x6c], ebp
jne 0x489e71
cmp ecx, 0x5a
jne 0x489e71
mov edi, dword [0x5ab6c4]
test edi, edi
je 0x489c1a
mov eax, dword [esi + 0x70]
lea esp, [esp]
cmp dword [edi + 8], eax
jne 0x489c10
mov edx, dword [esi + 0x68]
test edx, edx
je 0x489c8e
mov edi, dword [edi + 0x2424]
test edi, edi
jne 0x489c00
mov edi, dword [0x5a3a48]
test edi, edi
je 0x489c39
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x52c], eax
je 0x489c99
mov edi, dword [edi + 0x88c]
test edi, edi
jne 0x489c27
mov edi, dword [0x5afc18]
test edi, edi
je 0x489c5f
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x340], eax
jne 0x489c55
mov edx, dword [esi + 0x68]
test edx, edx
je 0x489cae
mov edi, dword [edi + 0x3cc]
test edi, edi
jne 0x489c46
mov edi, dword [0x5a8ba4]
test edi, edi
je 0x489e71
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x444], eax
jne 0x489c7f
mov edx, dword [esi + 0x68]
test edx, edx
je 0x489cea
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x489c70
jmp 0x489e71
mov ecx, dword [esi + 0x7c]
mov dword [edi + 4], ecx
jmp 0x489955
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x489c39
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x884], edx
jmp 0x489ea4
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x3c4], eax
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov eax, dword [edi + 0x378]
test eax, eax
mov ecx, edi
je 0x489fee
call fcn.00516de0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x4b0], ecx
jmp 0x48a18a
movzx eax, byte [esp + 0x431]
test eax, eax
mov dword [esp + 0x10], eax
jl 0x489d0d
cmp eax, 9
jle 0x489d15
mov dword [esp + 0x10], 9
mov eax, dword [esi + 0x6c]
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x489d24
jmp dword [eax*4 + 0x48a1b0]
mov eax, dword [esp + 0x10]
sub eax, 0
je 0x489d73
sub eax, ebp
jne case.default.0x489d24
mov edx, 3
mov ecx, esi
call fcn.00488a70
test eax, eax
je 0x489e7c
pop edi
mov dword [esi + 0x6c], 3
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x489d24
mov edx, 4
mov ecx, esi
call fcn.00488a70
test eax, eax
je 0x489e7c
pop edi
mov dword [esi + 0x6c], 4
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x489d24
mov edi, dword [0x5ab6c4]
test edi, edi
je 0x489dd1
mov eax, dword [esi + 0x70]
cmp dword [edi + 8], eax
jne 0x489dc7
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x489e89
mov edi, dword [edi + 0x2424]
test edi, edi
jne 0x489db7
mov edi, dword [0x5a3a48]
test edi, edi
mov dl, byte [esp + 0x433]
je 0x489e06
mov eax, dword [esi + 0x70]
jmp 0x489df0
cmp dword [edi + 0x52c], eax
je 0x489e94
mov edi, dword [edi + 0x88c]
test edi, edi
jne 0x489df0
mov edi, dword [0x5afc18]
test edi, edi
je 0x489e30
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x340], eax
jne 0x489e26
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x489fb6
mov edi, dword [edi + 0x3cc]
test edi, edi
jne 0x489e13
mov edi, dword [0x5a8ba4]
test edi, edi
je case.default.0x489d24
mov ecx, dword [esi + 0x70]
lea ecx, [ecx]
cmp dword [edi + 0x444], ecx
jne 0x489e60
mov eax, dword [esi + 0x68]
test eax, eax
je 0x48a003
cmp eax, 1
jne 0x489e60
cmp dl, al
je 0x48a011
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x489e40
mov ecx, dword [esp + 0x10]
add ecx, 0x64
mov edx, dword [esi + 0x70]
push ecx
mov ecx, esi
call fcn.004883a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7d8
ret
mov edx, dword [esi + 0x7c]
mov dword [edi + 4], edx
jmp 0x489955
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x489ec9
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x884], eax
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, edi
call fcn.0042d650
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
cmp eax, 1
jne 0x489e06
cmp dl, al
jne 0x489e06
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
mov dword [edi + 0x878], 0
mov dword [esi + 0x6c], 5
movzx ecx, byte [esp + 0x437]
movzx edx, byte [esp + 0x436]
movzx eax, byte [esp + 0x435]
push ecx
movzx ecx, byte [esp + 0x438]
push edx
push eax
push ecx
lea edx, [esp + 0x24]
push 0x58467c
push edx
call ebp
movzx ax, byte [esp + 0x450]
movzx cx, byte [esp + 0x451]
add esp, 0x18
push 0x21
push 0x8032
shl eax, 8
add eax, ecx
mov word [edi + 0x51c], ax
mov edx, dword [0x5b4314]
mov eax, dword [esi + 0x7c]
push edx
push eax
call ebx
mov ecx, dword [edi + 0x530]
movzx edx, word [edi + 0x51c]
push ecx
push edx
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
push eax
lea ecx, [edi + 0x3f0]
push ecx
lea edx, [esp + 0x440]
push 0x584b08
push edx
call ebp
mov eax, dword [edi + 0x888]
add esp, 0x18
push eax
xor edx, edx
lea ecx, [esp + 0x434]
call fcn.0054b400
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x3c4], ecx
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov eax, dword [edi + 0x378]
test eax, eax
mov ecx, edi
je 0x489fee
call fcn.00516de0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
call fcn.00516a90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x4b0], edx
jmp 0x48a18a
mov dword [edi + 0x4ac], 0
mov dword [esi + 0x6c], 5
movzx eax, byte [esp + 0x437]
movzx ecx, byte [esp + 0x436]
movzx edx, byte [esp + 0x435]
push eax
movzx eax, byte [esp + 0x438]
push ecx
push edx
push eax
lea ecx, [esp + 0x24]
push 0x58467c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
movzx dx, byte [esp + 0x450]
movzx ax, byte [esp + 0x451]
add esp, 0x18
push 0x21
push 0x8032
shl edx, 8
add edx, eax
mov word [edi + 0x454], dx
mov ecx, dword [0x5b4314]
mov edx, dword [esi + 0x7c]
push ecx
push edx
call ebx
mov eax, dword [edi + 0x4b8]
mov ecx, dword [edi + 0x444]
mov edx, dword [edi + 0x464]
push eax
xor eax, eax
mov ax, word [edi + 0x454]
push ecx
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_inet_addr]
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
push eax
lea edx, [edi + 0x234]
lea ecx, [edi + 4]
call fcn.00514d30
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x489d24
mov edi, dword [0x5a3a48]
test edi, edi
mov cl, byte [esp + 0x433]
mov edx, 1
je 0x48a11c
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x52c], eax
jne 0x48a112
cmp dword [esi + 0x68], edx
jne 0x48a112
cmp cl, 1
je 0x48a153
mov edi, dword [edi + 0x88c]
test edi, edi
jne 0x48a100
mov edi, dword [0x5a8ba4]
test edi, edi
je case.default.0x489d24
mov eax, dword [esi + 0x70]
mov edx, 1
cmp dword [edi + 0x444], eax
jne 0x48a144
cmp dword [esi + 0x68], edx
jne 0x48a144
cmp cl, 1
je 0x48a181
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x48a132
jmp case.default.0x489d24
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x884], edx
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, edi
call fcn.0042d030
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x4b0], eax
mov ecx, esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.00488280
mov ecx, edi
call fcn.00490b60
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7d8
ret