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

Disassembly:
mov eax, dword [0x616ef0]
sub esp, 0x7d8
push ebp
push esi
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x49438f
mov ecx, dword [esp + 0x7e4]
lea esp, [esp]
cmp dword [esi + 0x7c], ecx
je 0x49439a
mov esi, dword [esi + 0x80]
cmp esi, ebp
jne 0x494380
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
push ebx
mov ebx, dword [esp + 0x7ec]
mov ecx, ebx
shr ecx, 0x10
test ecx, ecx
push edi
je 0x49457a
cmp eax, ebp
mov ebx, dword [esi + 0x70]
je 0x49502f
jmp 0x4943c0
cmp esi, eax
je 0x4943db
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4943c0
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
lea edx, [esp + 0x48]
push 0x3e7
push edx
call fcn.00423a00
lea eax, [esp + 0x50]
push eax
push 0xa93
call fcn.00421db0
mov edi, dword [0x63c814]
add esp, 0x10
cmp edi, ebp
je 0x49444c
cmp dword [edi + 8], ebx
jne 0x494418
push edi
call fcn.00502d00
add esp, 4
test eax, eax
je 0x494424
mov edi, dword [edi + 0x26a0]
cmp edi, ebp
jne 0x494406
jmp 0x49444c
lea ecx, [esp + 0x48]
push ecx
lea ebp, [edi + 0x440]
push 0x3e7
push ebp
call fcn.00423900
push edi
call fcn.0058b6a0
push edi
push ebp
call fcn.0058b480
add esp, 0x18
xor ebp, ebp
push 2
lea edx, [esp + 0x4c]
push 0x5e9cc4
push edx
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x49448d
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
jmp 0x494470
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x494470
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x4e]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.005cceb0
add esp, 0xc
lea edx, [esp + 0x48]
push 0x20
push edx
call fcn.00552010
mov eax, dword [0x611900]
add esp, 8
cmp eax, ebp
je 0x4944b7
cmp dword [eax + 0x52c], ebx
je 0x4944f4
mov eax, dword [eax + 0x890]
cmp eax, ebp
jne 0x4944a5
mov eax, dword [0x641548]
cmp eax, ebp
je 0x4944d2
cmp dword [eax + 0x340], ebx
je 0x49450a
mov eax, dword [eax + 0x3d4]
cmp eax, ebp
jne 0x4944c0
mov eax, dword [0x63709c]
cmp eax, ebp
je 0x494533
jmp 0x4944e0
cmp dword [eax + 0x444], ebx
je 0x49451e
mov eax, dword [eax + 0x4bc]
cmp eax, ebp
jne 0x4944e0
jmp 0x494533
lea ecx, [esp + 0x48]
push ecx
push eax
mov dword [eax + 0x52c], ebp
call fcn.00434890
add esp, 8
jmp 0x494533
lea edx, [esp + 0x48]
push edx
push ebp
push eax
mov dword [eax + 0x340], ebp
call fcn.0053e670
jmp 0x494530
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
mov dword [eax + 0x444], ebp
call fcn.0049d510
add esp, 0xc
mov eax, dword [0x616ef0]
cmp eax, ebp
je 0x494d42
cmp esi, eax
je 0x494564
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x494540
push ebx
call fcn.00493360
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
push esi
call fcn.004932e0
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
lea edx, [esp + 0x430]
push 0x3b5
push edx
mov dword [esi + 0x74], 0xb4
call fcn.00423a00
mov ebp, dword [sym.imp.WSOCK32.dll_recv]
add esp, 8
xor edi, edi
mov edi, edi
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 0x4945cb
test eax, eax
je 0x494606
add edi, eax
cmp edi, 0x383
jb 0x4945a0
cmp bx, 0x20
jne 0x494958
mov eax, dword [0x616ef0]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x49502f
cmp esi, eax
je 0x4947c8
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4945e7
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
test edi, edi
jne 0x4945cb
mov eax, dword [0x616ef0]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x49502f
lea esp, [esp]
cmp esi, eax
je 0x49463b
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x494620
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
lea eax, [esp + 0x48]
push 0x3e7
push eax
call fcn.00423a00
lea ecx, [esp + 0x50]
push ecx
push 0xa94
call fcn.00421db0
mov edi, dword [0x63c814]
add esp, 0x10
cmp edi, ebp
je 0x4946ac
cmp dword [edi + 8], ebx
jne 0x494678
push edi
call fcn.00502d00
add esp, 4
test eax, eax
je 0x494684
mov edi, dword [edi + 0x26a0]
cmp edi, ebp
jne 0x494666
jmp 0x4946ac
lea edx, [esp + 0x48]
push edx
lea ebp, [edi + 0x440]
push 0x3e7
push ebp
call fcn.00423900
push edi
call fcn.0058b6a0
push edi
push ebp
call fcn.0058b480
add esp, 0x18
xor ebp, ebp
push 2
lea eax, [esp + 0x4c]
push 0x5e9cc4
push eax
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x4946ed
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
jmp 0x4946d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4946d0
sub eax, edx
inc eax
push eax
lea ecx, [esp + 0x4e]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.005cceb0
add esp, 0xc
lea eax, [esp + 0x48]
push 0x20
push eax
call fcn.00552010
mov eax, dword [0x611900]
add esp, 8
cmp eax, ebp
je 0x494717
cmp dword [eax + 0x52c], ebx
je 0x494754
mov eax, dword [eax + 0x890]
cmp eax, ebp
jne 0x494705
mov eax, dword [0x641548]
cmp eax, ebp
je 0x494732
cmp dword [eax + 0x340], ebx
je 0x49476a
mov eax, dword [eax + 0x3d4]
cmp eax, ebp
jne 0x494720
mov eax, dword [0x63709c]
cmp eax, ebp
je 0x494793
jmp 0x494740
cmp dword [eax + 0x444], ebx
je 0x49477e
mov eax, dword [eax + 0x4bc]
cmp eax, ebp
jne 0x494740
jmp 0x494793
lea ecx, [esp + 0x48]
push ecx
push eax
mov dword [eax + 0x52c], ebp
call fcn.00434890
add esp, 8
jmp 0x494793
lea edx, [esp + 0x48]
push edx
push ebp
push eax
mov dword [eax + 0x340], ebp
call fcn.0053e670
jmp 0x494790
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
mov dword [eax + 0x444], ebp
call fcn.0049d510
add esp, 0xc
mov eax, dword [0x616ef0]
cmp eax, ebp
je 0x494d42
cmp esi, eax
je 0x494564
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4947a0
push ebx
call fcn.00493360
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
lea edx, [esp + 0x48]
push 0x3e7
push edx
call fcn.00423a00
lea eax, [esp + 0x50]
push eax
push 0xa94
call fcn.00421db0
mov edi, dword [0x63c814]
add esp, 0x10
cmp edi, ebp
je 0x494839
cmp dword [edi + 8], ebx
jne 0x494805
push edi
call fcn.00502d00
add esp, 4
test eax, eax
je 0x494811
mov edi, dword [edi + 0x26a0]
cmp edi, ebp
jne 0x4947f3
jmp 0x494839
lea ecx, [esp + 0x48]
push ecx
lea ebp, [edi + 0x440]
push 0x3e7
push ebp
call fcn.00423900
push edi
call fcn.0058b6a0
push edi
push ebp
call fcn.0058b480
add esp, 0x18
xor ebp, ebp
push 2
lea edx, [esp + 0x4c]
push 0x5e9cc4
push edx
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x494875
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x494858
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x4e]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.005cceb0
add esp, 0xc
lea edx, [esp + 0x48]
push 0x20
push edx
call fcn.00552010
mov eax, dword [0x611900]
add esp, 8
cmp eax, ebp
je 0x4948a2
lea ecx, [ecx]
cmp dword [eax + 0x52c], ebx
je 0x4948e4
mov eax, dword [eax + 0x890]
cmp eax, ebp
jne 0x494890
mov eax, dword [0x641548]
cmp eax, ebp
je 0x4948c2
jmp 0x4948b0
cmp dword [eax + 0x340], ebx
je 0x4948fa
mov eax, dword [eax + 0x3d4]
cmp eax, ebp
jne 0x4948b0
mov eax, dword [0x63709c]
cmp eax, ebp
je 0x494923
jmp 0x4948d0
cmp dword [eax + 0x444], ebx
je 0x49490e
mov eax, dword [eax + 0x4bc]
cmp eax, ebp
jne 0x4948d0
jmp 0x494923
lea ecx, [esp + 0x48]
push ecx
push eax
mov dword [eax + 0x52c], ebp
call fcn.00434890
add esp, 8
jmp 0x494923
lea edx, [esp + 0x48]
push edx
push ebp
push eax
mov dword [eax + 0x340], ebp
call fcn.0053e670
jmp 0x494920
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
mov dword [eax + 0x444], ebp
call fcn.0049d510
add esp, 0xc
mov eax, dword [0x616ef0]
cmp eax, ebp
je 0x494d42
cmp esi, eax
je 0x494564
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x494930
push ebx
call fcn.00493360
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
mov edx, dword [0x645324]
mov eax, dword [esi + 0x7c]
mov ebx, dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
push 0
push 0
push edx
push eax
call ebx
mov eax, dword [esi + 0x78]
mov ebp, 2
cmp eax, ebp
jne 0x494d58
mov eax, dword [esi + 0x6c]
cmp eax, ebp
je 0x49498f
cmp eax, 3
jne 0x494aad
mov cl, byte [esp + 0x430]
xor edi, edi
cmp cl, 0x20
lea eax, [esp + 0x430]
jne 0x4949ad
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x4949a4
push 0x20
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4949da
cmp byte [eax], 0x20
jne 0x4949ca
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x4949c1
cmp byte [eax], 0
je 0x4949da
push eax
call fcn.005cbe51
add esp, 4
mov edi, eax
cmp dword [esi + 0x6c], ebp
jne 0x4949f7
cmp edi, 0x191
je 0x49502f
cmp edi, 0x197
je 0x49502f
cmp edi, 0xc8
jne 0x494aad
mov edi, dword [0x63c814]
test edi, edi
je 0x494a2a
mov eax, dword [esi + 0x70]
cmp dword [edi + 8], eax
jne 0x494a20
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x494adf
mov edi, dword [edi + 0x26a0]
test edi, edi
jne 0x494a10
mov edi, dword [0x611900]
test edi, edi
je 0x494a56
mov eax, dword [esi + 0x70]
jmp 0x494a40
cmp dword [edi + 0x52c], eax
je 0x494b10
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x494a40
mov edi, dword [0x641548]
test edi, edi
je 0x494a80
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x340], eax
jne 0x494a76
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x494b4a
mov edi, dword [edi + 0x3d4]
test edi, edi
jne 0x494a63
mov edi, dword [0x63709c]
test edi, edi
je 0x494aad
mov eax, dword [esi + 0x70]
lea ecx, [ecx]
cmp dword [edi + 0x444], eax
jne 0x494aa3
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x494b9e
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x494a90
mov eax, dword [0x616ef0]
mov ebx, dword [esi + 0x70]
xor ebp, ebp
cmp eax, ebp
je 0x49502f
nop
cmp esi, eax
je 0x494bcd
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x494ac0
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
mov ecx, dword [esi + 0x7c]
mov dword [edi + 4], ecx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
mov edx, dword [edi + 4]
push 0
push edx
call fcn.0058c750
add esp, 0xc
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x494a56
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x888], eax
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
push edi
call fcn.00435560
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x3cc], ecx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
mov eax, dword [edi + 0x378]
add esp, 4
test eax, eax
push edi
je 0x494b86
call fcn.0053f970
add esp, 4
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
call fcn.0053f5d0
add esp, 4
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x4b0], edx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
push edi
call fcn.0049df90
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
lea eax, [esp + 0x48]
push 0x3e7
push eax
call fcn.00423a00
lea ecx, [esp + 0x50]
push ecx
push 0xa97
call fcn.00421db0
mov edi, dword [0x63c814]
add esp, 0x10
cmp edi, ebp
je 0x494c3e
cmp dword [edi + 8], ebx
jne 0x494c0a
push edi
call fcn.00502d00
add esp, 4
test eax, eax
je 0x494c16
mov edi, dword [edi + 0x26a0]
cmp edi, ebp
jne 0x494bf8
jmp 0x494c3e
lea edx, [esp + 0x48]
push edx
lea ebp, [edi + 0x440]
push 0x3e7
push ebp
call fcn.00423900
push edi
call fcn.0058b6a0
push edi
push ebp
call fcn.0058b480
add esp, 0x18
xor ebp, ebp
push 2
lea eax, [esp + 0x4c]
push 0x5e9cc4
push eax
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x494c7d
lea eax, [esp + 0x4a]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x494c60
sub eax, edx
inc eax
push eax
lea ecx, [esp + 0x4e]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.005cceb0
add esp, 0xc
lea eax, [esp + 0x48]
push 0x20
push eax
call fcn.00552010
mov eax, dword [0x611900]
add esp, 8
cmp eax, ebp
je 0x494ca7
cmp dword [eax + 0x52c], ebx
je 0x494ce4
mov eax, dword [eax + 0x890]
cmp eax, ebp
jne 0x494c95
mov eax, dword [0x641548]
cmp eax, ebp
je 0x494cc2
cmp dword [eax + 0x340], ebx
je 0x494cfa
mov eax, dword [eax + 0x3d4]
cmp eax, ebp
jne 0x494cb0
mov eax, dword [0x63709c]
cmp eax, ebp
je 0x494d23
jmp 0x494cd0
cmp dword [eax + 0x444], ebx
je 0x494d0e
mov eax, dword [eax + 0x4bc]
cmp eax, ebp
jne 0x494cd0
jmp 0x494d23
lea ecx, [esp + 0x48]
push ecx
push eax
mov dword [eax + 0x52c], ebp
call fcn.00434890
add esp, 8
jmp 0x494d23
lea edx, [esp + 0x48]
push edx
push ebp
push eax
mov dword [eax + 0x340], ebp
call fcn.0053e670
jmp 0x494d20
lea ecx, [esp + 0x48]
push ecx
push ebp
push eax
mov dword [eax + 0x444], ebp
call fcn.0049d510
add esp, 0xc
mov eax, dword [0x616ef0]
cmp eax, ebp
je 0x494d42
lea esp, [esp]
cmp esi, eax
je 0x494564
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x494d30
push ebx
call fcn.00493360
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
test eax, eax
jne 0x494ead
movzx ecx, byte [esp + 0x431]
cmp ecx, 0x5a
jl 0x494d72
cmp ecx, 0x5d
jle 0x494d77
mov ecx, 0x5e
cmp dword [esi + 0x6c], ebp
jne 0x494e63
cmp ecx, 0x5a
jne 0x494e63
mov edi, dword [0x63c814]
test edi, edi
je 0x494dac
mov eax, dword [esi + 0x70]
cmp dword [edi + 8], eax
jne 0x494da2
mov edx, dword [esi + 0x68]
test edx, edx
je 0x494dd4
mov edi, dword [edi + 0x26a0]
test edi, edi
jne 0x494d96
mov edi, dword [0x611900]
test edi, edi
je 0x494e10
mov eax, dword [esi + 0x70]
lea esp, [esp]
cmp dword [edi + 0x52c], eax
je 0x494e05
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x494dc0
jmp 0x494e10
mov edx, dword [esi + 0x7c]
mov dword [edi + 4], edx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
mov eax, dword [edi + 4]
push 0
push eax
call fcn.0058c750
add esp, 0xc
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esi + 0x68]
test eax, eax
je 0x495074
mov edi, dword [0x641548]
test edi, edi
je 0x494e39
mov eax, dword [esi + 0x70]
lea ecx, [ecx]
cmp dword [edi + 0x340], eax
jne 0x494e2f
mov edx, dword [esi + 0x68]
test edx, edx
je 0x494e6d
mov edi, dword [edi + 0x3d4]
test edi, edi
jne 0x494e20
mov edi, dword [0x63709c]
test edi, edi
je 0x494e63
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x444], eax
jne 0x494e59
mov edx, dword [esi + 0x68]
test edx, edx
je 0x495318
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x494e46
push ecx
mov ecx, dword [esi + 0x70]
push ecx
jmp 0x495026
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x3cc], edx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
mov eax, dword [edi + 0x378]
add esp, 4
test eax, eax
push edi
je 0x49517d
call fcn.0053f970
add esp, 4
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
movzx eax, byte [esp + 0x431]
test eax, eax
mov dword [esp + 0x10], eax
jl 0x494ec2
cmp eax, 9
jle 0x494eca
mov dword [esp + 0x10], 9
mov eax, dword [esi + 0x6c]
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x494ed9
jmp dword [eax*4 + 0x495348]
mov eax, dword [esp + 0x10]
sub eax, 0
je 0x494f27
sub eax, ebp
jne case.default.0x494ed9
push 3
push esi
call fcn.00493b40
add esp, 8
test eax, eax
je 0x49502f
pop edi
pop ebx
mov dword [esi + 0x6c], 3
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x494ed9
push 4
push esi
call fcn.00493b40
add esp, 8
test eax, eax
je 0x49502f
pop edi
pop ebx
mov dword [esi + 0x6c], 4
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x494ed9
mov edi, dword [0x63c814]
test edi, edi
je 0x494f8a
mov eax, dword [esi + 0x70]
lea ebx, [ebx]
cmp dword [edi + 8], eax
jne 0x494f80
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x49503c
mov edi, dword [edi + 0x26a0]
test edi, edi
jne 0x494f70
mov edi, dword [0x611900]
test edi, edi
mov dl, byte [esp + 0x433]
je 0x494fb6
mov eax, dword [esi + 0x70]
mov edi, edi
cmp dword [edi + 0x52c], eax
je 0x49506d
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x494fa0
mov edi, dword [0x641548]
test edi, edi
je 0x494fe0
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x340], eax
jne 0x494fd6
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x49516f
mov edi, dword [edi + 0x3d4]
test edi, edi
jne 0x494fc3
mov edi, dword [0x63709c]
test edi, edi
je case.default.0x494ed9
mov ecx, dword [esi + 0x70]
lea ecx, [ecx]
cmp dword [edi + 0x444], ecx
jne 0x495010
mov eax, dword [esi + 0x68]
test eax, eax
je 0x495195
cmp eax, 1
jne 0x495010
cmp dl, al
je 0x4951a3
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x494ff0
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x70]
add ecx, 0x64
push ecx
push edx
push esi
call fcn.004933a0
add esp, 0xc
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x7d8
ret
mov edx, dword [esi + 0x7c]
mov dword [edi + 4], edx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
mov eax, dword [edi + 4]
push 0
push eax
call fcn.0058c750
add esp, 0xc
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x495082
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x888], ecx
jmp 0x494b24
cmp eax, 1
jne 0x494fb6
cmp dl, al
jne 0x494fb6
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
mov dword [edi + 0x878], 0
mov dword [esi + 0x6c], 5
movzx edx, byte [esp + 0x437]
movzx eax, byte [esp + 0x436]
movzx ecx, byte [esp + 0x435]
push edx
movzx edx, byte [esp + 0x438]
push eax
push ecx
push edx
lea eax, [esp + 0x24]
push 0x5e7824
push eax
call ebp
movzx cx, byte [esp + 0x450]
movzx dx, byte [esp + 0x451]
add esp, 0x18
push 0x21
push 0x8032
shl ecx, 8
add ecx, edx
mov word [edi + 0x51c], cx
mov eax, dword [0x645324]
mov ecx, dword [esi + 0x7c]
push eax
push ecx
call ebx
mov edx, dword [edi + 0x530]
movzx eax, word [edi + 0x51c]
push edx
push eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.WSOCK32.dll_inet_addr]
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
push eax
lea edx, [edi + 0x3f0]
push edx
lea eax, [esp + 0x440]
push 0x5e82ec
push eax
call ebp
mov ecx, dword [edi + 0x88c]
push ecx
lea edx, [esp + 0x44c]
push 0
push edx
call fcn.0058c390
add esp, 0x24
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x3cc], eax
jmp 0x494e76
call fcn.0053f5d0
add esp, 4
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov ecx, dword [esi + 0x7c]
mov dword [edi + 0x4b0], ecx
jmp 0x495321
mov dword [edi + 0x4ac], 0
mov dword [esi + 0x6c], 5
movzx edx, byte [esp + 0x437]
movzx eax, byte [esp + 0x436]
movzx ecx, byte [esp + 0x435]
push edx
movzx edx, byte [esp + 0x438]
push eax
push ecx
push edx
lea eax, [esp + 0x24]
push 0x5e7824
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
movzx cx, byte [esp + 0x450]
movzx dx, byte [esp + 0x451]
add esp, 0x18
push 0x21
push 0x8032
shl ecx, 8
add ecx, edx
mov word [edi + 0x454], cx
mov eax, dword [0x645324]
mov ecx, dword [esi + 0x7c]
push eax
push ecx
call ebx
mov edx, dword [edi + 0x4b8]
mov eax, dword [edi + 0x444]
mov ecx, dword [edi + 0x464]
push edx
xor edx, edx
mov dx, word [edi + 0x454]
push eax
push ecx
lea eax, [esp + 0x20]
push edx
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
push eax
lea ecx, [edi + 0x234]
push ecx
add edi, 4
push edi
call fcn.0053d570
add esp, 0x1c
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x494ed9
mov edi, dword [0x611900]
test edi, edi
mov cl, byte [esp + 0x433]
mov edx, 1
je 0x4952b2
mov eax, dword [esi + 0x70]
cmp dword [edi + 0x52c], eax
jne 0x4952a8
cmp dword [esi + 0x68], edx
jne 0x4952a8
cmp cl, 1
je 0x4952e9
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x495296
mov edi, dword [0x63709c]
test edi, edi
je case.default.0x494ed9
mov eax, dword [esi + 0x70]
mov edx, 1
cmp dword [edi + 0x444], eax
jne 0x4952da
cmp dword [esi + 0x68], edx
jne 0x4952da
cmp cl, 1
je 0x495318
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x4952c8
jmp case.default.0x494ed9
mov edx, dword [esi + 0x7c]
mov dword [edi + 0x888], edx
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
push edi
call fcn.00434ea0
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x4b0], eax
push esi
mov dword [esi + 0x7c], 0xffffffff
call fcn.004932e0
push edi
call fcn.0049df90
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x7d8
ret