Function at 0x413468
Capabilities:
Create thread
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x146
push 0
push 0
dec ecx
jne 0x413470
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4148be
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
cmp dword [0x4278ec], 0
je 0x414888
xor ecx, ecx
push ebp
push 0x41487e
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov dl, 1
mov eax, dword [0x40aba0]
call fcn.00403544
mov dword [ebp - 0x14], eax
mov dl, 1
mov eax, dword [0x40aba0]
call fcn.00403544
mov dword [ebp - 0x18], eax
xor ecx, ecx
push ebp
push 0x41486d
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 8]
mov edx, dword [0x4278ec]
call fcn.004040a4
xor ebx, ebx
call fcn.00413438
mov esi, eax
push 0x4148d8
push dword [ebp - 8]
push 0x4148f8
lea edx, [ebp - 0x8f8]
mov eax, esi
call fcn.004076b4
push dword [ebp - 0x8f8]
lea eax, [ebp - 0x8f4]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0x8f4]
call fcn.0041be00
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.004109e0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x414818
mov eax, dword [ebp - 0xc]
call fcn.00413258
test al, al
je 0x4147c1
mov eax, 0x41490c
call fcn.0041be00
mov eax, dword [0x42639c]
mov byte [eax], 1
call fcn.0041806c
mov byte [ebp - 1], 1
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov eax, dword [ebp - 8]
call fcn.00410798
mov ebx, eax
mov eax, dword [0x4263a4]
mov dword [eax + 0x1240], ebx
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x1240
mov eax, dword [0x4263a4]
mov ecx, ebx
xor edx, edx
mov eax, 2
call fcn.0041e3fc
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 0xb
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x9fc]
mov eax, dword [0x4263f0]
mov eax, dword [eax]
call fcn.00407678
mov edx, dword [ebp - 0x9fc]
lea eax, [ebp - 0x9f8]
mov ecx, 0xff
call fcn.00404288
lea edx, [ebp - 0x9f8]
lea eax, [ebp - 0x5c]
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x110c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0xa00]
mov eax, dword [0x4263f0]
mov eax, dword [eax]
call fcn.00407678
mov eax, dword [ebp - 0xa00]
mov edx, 0x41492c
call fcn.004043f0
jne 0x413767
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x1120]
cmp eax, 1
je 0x41375b
mov edx, dword [0x4263a4]
test eax, eax
jne 0x4136fb
mov byte [ebp - 0x24], 1
mov eax, dword [0x426378]
call fcn.00412c44
inc eax
je 0x41376b
mov eax, dword [0x426378]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov edx, dword [0x4263a4]
mov eax, 1
mov dword [edx + 0x1120], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x1120
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
jmp 0x41376b
mov eax, dword [0x426378]
cmp dword [eax], 0
jne 0x41376b
mov byte [ebp - 0x24], 1
mov eax, dword [0x426378]
call fcn.00412c44
inc eax
je 0x41376b
mov eax, dword [0x426378]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov edx, dword [0x4263a4]
mov eax, 1
mov dword [edx + 0x1120], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x1120
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
jmp 0x41376b
mov eax, dword [0x426378]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
jmp 0x41376b
mov byte [ebp - 0x24], 0
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad60
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402c5c
je 0x413836
mov eax, dword [0x4263a4]
add eax, 0x200
lea edx, [ebp - 0xef]
call fcn.00402c34
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x200
lea eax, [ebp - 0xa04]
mov edx, dword [0x4263a4]
add edx, 0x200
call fcn.00404250
mov edx, dword [ebp - 0xa04]
xor ecx, ecx
mov eax, 1
call fcn.0041e3fc
push 0x414940
lea edx, [ebp - 0xa0c]
mov eax, ebx
call fcn.004076b4
push dword [ebp - 0xa0c]
push 0x414954
lea edx, [ebp - 0xa10]
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x110c]
call fcn.004076b4
push dword [ebp - 0xa10]
lea eax, [ebp - 0xa08]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0xa08]
call fcn.0041be00
mov eax, dword [0x4263a4]
cmp ebx, dword [eax + 0x110c]
je 0x413afc
mov dword [ebp - 0x158], 0xc
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040ac2c
cmp edx, 0
jne 0x413908
cmp eax, 0
je 0x413a75
push 0x41496c
mov eax, dword [ebp - 0x14]
call fcn.0040ac2c
push edx
push eax
lea eax, [ebp - 0xa18]
call fcn.004076e4
push dword [ebp - 0xa18]
push 0x414990
lea edx, [ebp - 0xa1c]
mov eax, ebx
call fcn.004076b4
push dword [ebp - 0xa1c]
push 0x4149a4
lea edx, [ebp - 0xa20]
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x110c]
call fcn.004076b4
push dword [ebp - 0xa20]
lea eax, [ebp - 0xa14]
mov edx, 6
call fcn.0040436c
mov eax, dword [ebp - 0xa14]
call fcn.0041be00
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
call fcn.00419e94
test al, al
je 0x413afc
mov eax, 0x4149bc
call fcn.0041be00
mov eax, dword [ebp - 0x18]
call fcn.0040ac2c
mov ecx, dword [0x4263a4]
mov dword [ecx + 0x11b0], eax
mov dword [ecx + 0x11b4], edx
mov eax, dword [0x4263a4]
push dword [eax + 0x11dc]
push dword [eax + 0x11d8]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416f08
test al, al
je 0x413afc
mov eax, 0x4149d8
call fcn.0041be00
mov eax, dword [0x4263a4]
mov edi, ebx
mov dword [eax + 0x110c], edi
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x110c
mov eax, dword [0x4263a4]
mov ecx, edi
xor edx, edx
mov eax, 2
call fcn.0041e3fc
test al, al
je 0x413a30
mov eax, 0x4149f8
call fcn.0041be00
mov eax, dword [0x4263a4]
push dword [eax + 0x11b4]
push dword [eax + 0x11b0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11b0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
test al, al
je 0x413afc
mov eax, 0x414a10
call fcn.0041be00
jmp 0x413afc
mov eax, 0x414a2c
call fcn.0041be00
mov edx, dword [0x4263a4]
mov eax, ebx
mov dword [edx + 0x110c], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x110c
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
mov eax, dword [0x4263a4]
mov dword [eax + 0x11b0], 0
mov dword [eax + 0x11b4], 0
mov eax, dword [0x4263a4]
push dword [eax + 0x11b4]
push dword [eax + 0x11b0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11b0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
push 0x414a50
lea edx, [ebp - 0xa28]
mov eax, esi
call fcn.004076b4
push dword [ebp - 0xa28]
push 0x414a64
lea edx, [ebp - 0xa2c]
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x1110]
call fcn.004076b4
push dword [ebp - 0xa2c]
lea eax, [ebp - 0xa24]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0xa24]
call fcn.0041be00
mov eax, dword [0x4263a4]
cmp esi, dword [eax + 0x1110]
je 0x413d25
mov dword [ebp - 0x158], 0xd
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040ac2c
cmp edx, 0
jne 0x413bce
cmp eax, 0
je 0x413ca8
push esi
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
call fcn.00418fbc
test al, al
je 0x413d25
mov eax, 0x414a80
call fcn.0041be00
mov eax, dword [ebp - 0x18]
call fcn.0040ac2c
mov ecx, dword [0x4263a4]
mov dword [ecx + 0x11c0], eax
mov dword [ecx + 0x11c4], edx
mov eax, dword [0x4263a4]
push dword [eax + 0x11ec]
push dword [eax + 0x11e8]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416f08
test al, al
je 0x413d25
mov eax, 0x414aac
call fcn.0041be00
mov edx, dword [0x4263a4]
mov eax, esi
mov dword [edx + 0x1110], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x1110
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
mov eax, dword [0x4263a4]
push dword [eax + 0x11c4]
push dword [eax + 0x11c0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11c0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
jmp 0x413d25
mov edx, dword [0x4263a4]
mov eax, esi
mov dword [edx + 0x1110], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x1110
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
mov eax, dword [0x4263a4]
mov dword [eax + 0x11c0], 0
mov dword [eax + 0x11c4], 0
mov eax, dword [0x4263a4]
push dword [eax + 0x11c4]
push dword [eax + 0x11c0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11c0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov eax, dword [0x4263a4]
cmp dword [eax + 0x1148], 0
jne 0x413e59
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov eax, dword [ebp - 0x14]
call fcn.0040b228
xor eax, eax
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x1148]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
xor eax, eax
mov dword [ebp - 0x1c], eax
push 0
push 4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x41480d
cmp dword [ebp - 0x1c], 0
jle 0x413e59
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x413e59
mov eax, dword [ebp - 0x14]
call fcn.00417268
test al, al
je 0x413e59
mov edx, dword [0x4263a4]
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x1148], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x1148
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 3
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x1114]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad60
mov edx, dword [0x4263a4]
mov edx, dword [edx + 0x1114]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
je 0x414066
mov ecx, dword [0x4263a4]
mov edx, eax
mov dword [ecx + 0x1114], edx
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x1114
mov eax, dword [0x4263a4]
mov ecx, edx
mov eax, 2
xor edx, edx
call fcn.0041e3fc
cmp dword [ebp - 0x28], 0
je 0x41401f
mov eax, dword [ebp - 0x18]
call fcn.0040b228
lea eax, [ebp - 0x18]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x18]
call fcn.0040ac2c
mov ecx, dword [0x4263a4]
mov dword [ecx + 0x11b8], eax
mov dword [ecx + 0x11bc], edx
mov eax, dword [0x4263a4]
push dword [eax + 0x11e4]
push dword [eax + 0x11e0]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416f08
mov eax, dword [0x4263a4]
push dword [eax + 0x11bc]
push dword [eax + 0x11b8]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11b8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov eax, dword [0x42635c]
mov byte [eax], 0
call fcn.0041806c
jmp 0x414066
mov eax, dword [0x4263a4]
mov dword [eax + 0x11b8], 0
mov dword [eax + 0x11bc], 0
mov eax, dword [0x4263a4]
push dword [eax + 0x11bc]
push dword [eax + 0x11b8]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11b8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 4
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov ebx, dword [0x4263a4]
mov ebx, dword [ebx + 0x11a0]
mov eax, dword [0x4263a4]
push dword [eax + 0x11cc]
push dword [eax + 0x11c8]
mov eax, dword [0x4263a4]
push dword [eax + 0x11a4]
push dword [eax + 0x11a0]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.0041708c
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov eax, ebx
cdq
mov ecx, dword [0x4263a4]
cmp edx, dword [ecx + 0x11a4]
jne 0x414189
cmp eax, dword [ecx + 0x11a0]
jae 0x41422f
jmp 0x41418f
jge 0x41422f
mov esi, dword [0x4263a4]
mov esi, dword [esi + 0x11a0]
sub esi, ebx
mov eax, ebx
cdq
mov ecx, dword [0x4263a4]
add eax, dword [ecx + 0x11c8]
adc edx, dword [ecx + 0x11cc]
push edx
push eax
mov eax, esi
cdq
push edx
push eax
mov edx, dword [0x4264ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.0041708c
mov eax, dword [0x4263a4]
push dword [eax + 0x11cc]
push dword [eax + 0x11c8]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x14]
call fcn.00416f08
mov eax, esi
cdq
mov ecx, dword [0x4263a4]
mov dword [ecx + 0x11a0], eax
mov dword [ecx + 0x11a4], edx
mov eax, dword [0x4263a4]
push dword [eax + 0x11a4]
push dword [eax + 0x11a0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11a0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
jmp 0x414276
mov eax, dword [0x4263a4]
mov dword [eax + 0x11a0], 0
mov dword [eax + 0x11a4], 0
mov eax, dword [0x4263a4]
push dword [eax + 0x11a4]
push dword [eax + 0x11a0]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11a0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 5
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov ebx, dword [0x4263a4]
mov ebx, dword [ebx + 0x11a8]
mov eax, dword [0x4263a4]
push dword [eax + 0x11d4]
push dword [eax + 0x11d0]
mov eax, dword [0x4263a4]
push dword [eax + 0x11ac]
push dword [eax + 0x11a8]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.0041708c
test al, al
je 0x4143a6
mov eax, dword [ebp - 0x14]
call fcn.0040ac2c
cmp edx, 0
jne 0x41436a
cmp eax, 0xc1ca8c
jbe 0x4143a6
jmp 0x41436c
jle 0x4143a6
mov eax, dword [0x4263a4]
mov dword [eax + 0x11a8], 0
mov dword [eax + 0x11ac], 0
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11a8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [0x4263a4]
call fcn.0041e65c
mov eax, ebx
cdq
mov ecx, dword [0x4263a4]
cmp edx, dword [ecx + 0x11ac]
jne 0x4143ef
cmp eax, dword [ecx + 0x11a8]
jae 0x414495
jmp 0x4143f5
jge 0x414495
mov esi, dword [0x4263a4]
mov esi, dword [esi + 0x11a8]
sub esi, ebx
mov eax, ebx
cdq
mov ecx, dword [0x4263a4]
add eax, dword [ecx + 0x11d0]
adc edx, dword [ecx + 0x11d4]
push edx
push eax
mov eax, esi
cdq
push edx
push eax
mov edx, dword [0x4264ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.0041708c
mov eax, dword [0x4263a4]
push dword [eax + 0x11d4]
push dword [eax + 0x11d0]
mov edx, dword [0x4264ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x14]
call fcn.00416f08
mov eax, esi
cdq
mov ecx, dword [0x4263a4]
mov dword [ecx + 0x11a8], eax
mov dword [ecx + 0x11ac], edx
mov eax, dword [0x4263a4]
push dword [eax + 0x11ac]
push dword [eax + 0x11a8]
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11a8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
jmp 0x4144cf
mov eax, dword [0x4263a4]
mov dword [eax + 0x11a8], 0
mov dword [eax + 0x11ac], 0
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x11a8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041e3fc
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 0x19
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4263a4]
mov eax, dword [eax + 0x112c]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412fd4
test al, al
je 0x41480d
lea edx, [ebp - 0x8f0]
mov ecx, 0x798
mov eax, dword [ebp - 0x14]
call fcn.0040ad60
mov edx, dword [0x4263a4]
mov edx, dword [edx + 0x112c]
mov eax, dword [ebp - 0x16c]
cmp edx, eax
je 0x414671
test eax, eax
je 0x414671
mov edx, dword [0x4263a4]
mov al, 1
mov byte [edx + 0x1108], al
push 0
push 0
mov edx, dword [0x4263a4]
push eax
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x1108
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.0041e3fc
mov edx, dword [0x4263a4]
mov eax, dword [ebp - 0x16c]
mov dword [edx + 0x112c], eax
push 0
push 0
push 0
mov edx, dword [0x4264ec]
mov edx, dword [edx]
push edx
push 0x112c
mov edx, dword [0x4263a4]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041e3fc
lea eax, [ebp - 0xa30]
lea edx, [ebp - 0x6ec]
call fcn.00404250
mov eax, dword [ebp - 0xa30]
call fcn.00410798
mov ebx, eax
mov eax, dword [0x4263a4]
mov dword [eax + 0x1258], ebx
push 0
push 0
push 0
mov eax, dword [0x4264ec]
mov eax, dword [eax]
push eax
push 0x12bc
mov eax, dword [0x4263a4]
mov ecx, ebx
xor edx, edx
mov eax, 2
call fcn.0041e3fc
cmp byte [0x425db4], 0
jne 0x41480d
mov eax, dword [ebp - 0x14]
call fcn.0040b228
mov dword [ebp - 0x158], 0xa
lea eax, [ebp - 0x154]
mov edx, dword [0x4263a4]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xef]
mov edx, dword [0x4263a4]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8a]
mov edx, dword [0x4263a4]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0xa34]
mov eax, dword [0x4263f0]
mov eax, dword [eax]
call fcn.00407678
mov edx, dword [ebp - 0xa34]
lea eax, [ebp - 0x9f8]
mov ecx, 0xff
call fcn.00404288
lea edx, [ebp - 0x9f8]
lea eax, [ebp - 0x5c]
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x426464]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x158]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040ad68
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412d88
test al, al
je 0x41480d
push 0
push 4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x41480d
cmp dword [ebp - 0x1c], 0
jle 0x41480d
mov eax, dword [0x426384]
mov edx, dword [ebp - 8]
call fcn.00404060
mov eax, dword [0x42650c]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x412c84
push 0
push 0
call sub.kernel32.dll_CreateThread_1
mov eax, 0x4278f8
mov edx, dword [ebp - 8]
call fcn.00404060
mov eax, dword [ebp - 0xc]
mov dword [0x4278f4], eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x413358
push 0
push 0
call sub.kernel32.dll_CreateThread_1
jmp 0x414845
mov eax, 0x7e8
call fcn.00402544
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x414806
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x7e8
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_send
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41480d
mov eax, dword [ebp - 0x20]
call fcn.00402564
ret
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_closesocket
jmp 0x414845
test bl, bl
jne 0x414845
mov bl, 1
mov eax, esi
sub eax, 0x50
je 0x414831
sub eax, 0x16b
je 0x41483b
jmp 0x4134eb
mov esi, 0x1bb
jmp 0x4134eb
mov esi, 0x50
jmp 0x4134eb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x414874
lea eax, [ebp - 8]
xor edx, edx
call fcn.004045d4
mov eax, dword [ebp - 0x14]
call fcn.00403574
mov eax, dword [ebp - 0x18]
call fcn.00403574
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4148c5
lea eax, [ebp - 0xa34]
mov edx, 0xf
call fcn.00404030
lea eax, [ebp - 0x8f8]
mov edx, 2
call fcn.00404030
lea eax, [ebp - 8]
call fcn.0040400c
ret