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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x53
push 0
push 0
dec ecx
jne 0x4132f0
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4144a9
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
cmp dword [0x4258ec], 0
je 0x414473
xor ecx, ecx
push ebp
push 0x414469
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov dl, 1
mov eax, dword [0x40ab34]
call fcn.00403544
mov dword [ebp - 0x14], eax
mov dl, 1
mov eax, dword [0x40ab34]
call fcn.00403544
mov dword [ebp - 0x18], eax
xor ecx, ecx
push ebp
push 0x41444f
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 8]
mov edx, dword [0x4258ec]
call fcn.004040a4
xor ebx, ebx
call fcn.004132b8
mov esi, eax
push 0x4144c4
push dword [ebp - 8]
push 0x4144e4
lea edx, [ebp - 0x164]
mov eax, esi
call fcn.00407648
push dword [ebp - 0x164]
lea eax, [ebp - 0x160]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0x160]
call fcn.0041b370
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.00410974
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x414404
mov eax, dword [ebp - 0xc]
call fcn.004130fc
test al, al
je 0x4143ad
mov eax, 0x4144f8
call fcn.0041b370
mov eax, dword [0x4243a0]
mov byte [eax], 1
call fcn.00417c00
mov byte [ebp - 1], 1
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [0x4243a8]
call fcn.0041d724
mov eax, dword [ebp - 8]
call fcn.0041072c
mov ebx, eax
mov eax, dword [0x4243a8]
mov dword [eax + 0x1240], ebx
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x1240
mov eax, dword [0x4243a8]
mov ecx, ebx
xor edx, edx
mov eax, 2
call fcn.0041d4c4
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 0xb
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x268]
mov eax, dword [0x4243f4]
mov eax, dword [eax]
call fcn.0040760c
mov edx, dword [ebp - 0x268]
lea eax, [ebp - 0x264]
mov ecx, 0xff
call fcn.00404288
lea edx, [ebp - 0x264]
lea eax, [ebp - 0x60]
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x110c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x28], 0
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x1120]
cmp eax, 1
je 0x4135a9
mov edx, dword [0x4243a8]
test eax, eax
jne 0x413549
mov byte [ebp - 0x28], 1
mov eax, dword [0x424380]
call fcn.00412ae8
inc eax
je 0x41350e
mov eax, dword [0x424380]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov edx, dword [0x4243a8]
mov eax, 1
mov dword [edx + 0x1120], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x1120
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
jmp 0x4135b7
mov eax, dword [0x424380]
cmp dword [eax], 0
jne 0x4135b7
mov byte [ebp - 0x28], 1
mov eax, dword [0x424380]
call fcn.00412ae8
inc eax
je 0x41356e
mov eax, dword [0x424380]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov edx, dword [0x4243a8]
mov eax, 1
mov dword [edx + 0x1120], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x1120
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
jmp 0x4135b7
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x1120]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x4143f9
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acf4
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402c5c
je 0x413682
mov eax, dword [0x4243a8]
add eax, 0x200
lea edx, [ebp - 0xf3]
call fcn.00402c34
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x200
lea eax, [ebp - 0x26c]
mov edx, dword [0x4243a8]
add edx, 0x200
call fcn.00404250
mov edx, dword [ebp - 0x26c]
xor ecx, ecx
mov eax, 1
call fcn.0041d4c4
push 0x414518
lea edx, [ebp - 0x274]
mov eax, ebx
call fcn.00407648
push dword [ebp - 0x274]
push 0x41452c
lea edx, [ebp - 0x278]
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x110c]
call fcn.00407648
push dword [ebp - 0x278]
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0x270]
call fcn.0041b370
mov eax, dword [0x4243a8]
cmp ebx, dword [eax + 0x110c]
je 0x413948
mov dword [ebp - 0x15c], 0xc
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040abc0
cmp edx, 0
jne 0x413754
cmp eax, 0
je 0x4138c1
push 0x414544
mov eax, dword [ebp - 0x14]
call fcn.0040abc0
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.00407678
push dword [ebp - 0x280]
push 0x414568
lea edx, [ebp - 0x284]
mov eax, ebx
call fcn.00407648
push dword [ebp - 0x284]
push 0x41457c
lea edx, [ebp - 0x288]
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x110c]
call fcn.00407648
push dword [ebp - 0x288]
lea eax, [ebp - 0x27c]
mov edx, 6
call fcn.0040436c
mov eax, dword [ebp - 0x27c]
call fcn.0041b370
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
call fcn.00419494
test al, al
je 0x413948
mov eax, 0x414594
call fcn.0041b370
mov eax, dword [ebp - 0x18]
call fcn.0040abc0
mov ecx, dword [0x4243a8]
mov dword [ecx + 0x11b0], eax
mov dword [ecx + 0x11b4], edx
mov eax, dword [0x4243a8]
push dword [eax + 0x11dc]
push dword [eax + 0x11d8]
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416acc
test al, al
je 0x413948
mov eax, 0x4145b0
call fcn.0041b370
mov eax, dword [0x4243a8]
mov edi, ebx
mov dword [eax + 0x110c], edi
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x110c
mov eax, dword [0x4243a8]
mov ecx, edi
xor edx, edx
mov eax, 2
call fcn.0041d4c4
test al, al
je 0x41387c
mov eax, 0x4145d0
call fcn.0041b370
mov eax, dword [0x4243a8]
push dword [eax + 0x11b4]
push dword [eax + 0x11b0]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11b0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
test al, al
je 0x413948
mov eax, 0x4145e8
call fcn.0041b370
jmp 0x413948
mov eax, 0x414604
call fcn.0041b370
mov edx, dword [0x4243a8]
mov eax, ebx
mov dword [edx + 0x110c], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x110c
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
mov eax, dword [0x4243a8]
mov dword [eax + 0x11b0], 0
mov dword [eax + 0x11b4], 0
mov eax, dword [0x4243a8]
push dword [eax + 0x11b4]
push dword [eax + 0x11b0]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11b0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
push 0x414628
lea edx, [ebp - 0x290]
mov eax, esi
call fcn.00407648
push dword [ebp - 0x290]
push 0x41463c
lea edx, [ebp - 0x294]
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x1110]
call fcn.00407648
push dword [ebp - 0x294]
lea eax, [ebp - 0x28c]
mov edx, 4
call fcn.0040436c
mov eax, dword [ebp - 0x28c]
call fcn.0041b370
mov eax, dword [0x4243a8]
cmp esi, dword [eax + 0x1110]
je 0x413b67
mov dword [ebp - 0x15c], 0xd
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040abc0
cmp edx, 0
jne 0x413a1a
cmp eax, 0
je 0x413aea
push esi
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
call fcn.00418b50
test al, al
je 0x413b67
mov eax, dword [ebp - 0x18]
call fcn.0040abc0
mov ecx, dword [0x4243a8]
mov dword [ecx + 0x11c0], eax
mov dword [ecx + 0x11c4], edx
mov eax, dword [0x4243a8]
push dword [eax + 0x11ec]
push dword [eax + 0x11e8]
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416acc
test al, al
je 0x413b67
mov eax, 0x414658
call fcn.0041b370
mov edx, dword [0x4243a8]
mov eax, esi
mov dword [edx + 0x1110], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x1110
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
mov eax, dword [0x4243a8]
push dword [eax + 0x11c4]
push dword [eax + 0x11c0]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11c0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
jmp 0x413b67
mov edx, dword [0x4243a8]
mov eax, esi
mov dword [edx + 0x1110], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x1110
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
mov eax, dword [0x4243a8]
mov dword [eax + 0x11c0], 0
mov dword [eax + 0x11c4], 0
mov eax, dword [0x4243a8]
push dword [eax + 0x11c4]
push dword [eax + 0x11c0]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11c0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov eax, dword [0x4243a8]
cmp dword [eax + 0x1148], 0
jne 0x413c9b
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [0x4243a8]
call fcn.0041d724
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
xor eax, eax
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x1148]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
xor eax, eax
mov dword [ebp - 0x20], eax
push 0
push 4
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x4143f9
cmp dword [ebp - 0x20], 0
jle 0x413c9b
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x413c9b
mov eax, dword [ebp - 0x14]
call fcn.00416dfc
test al, al
je 0x413c9b
mov edx, dword [0x4243a8]
mov eax, dword [ebp - 0x20]
mov dword [edx + 0x1148], eax
push 0
push 0
push 0
mov edx, dword [0x4244ec]
mov edx, dword [edx]
push edx
push 0x1148
mov edx, dword [0x4243a8]
mov ecx, eax
xor edx, edx
mov eax, 2
call fcn.0041d4c4
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [0x4243a8]
call fcn.0041d724
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 3
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x4243a8]
mov eax, dword [eax + 0x1114]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
lea eax, [ebp - 0x14]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x4143f9
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acf4
mov edx, dword [0x4243a8]
mov edx, dword [edx + 0x1114]
mov eax, dword [ebp - 0x30]
cmp edx, eax
je 0x413ea8
mov ecx, dword [0x4243a8]
mov edx, eax
mov dword [ecx + 0x1114], edx
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x1114
mov eax, dword [0x4243a8]
mov ecx, edx
mov eax, 2
xor edx, edx
call fcn.0041d4c4
cmp dword [ebp - 0x2c], 0
je 0x413e61
mov eax, dword [ebp - 0x18]
call fcn.0040b1bc
lea eax, [ebp - 0x18]
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
call fcn.00412e78
test al, al
je 0x4143f9
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.0040abc0
mov ecx, dword [0x4243a8]
mov dword [ecx + 0x11b8], eax
mov dword [ecx + 0x11bc], edx
mov eax, dword [0x4243a8]
push dword [eax + 0x11e4]
push dword [eax + 0x11e0]
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00416acc
mov eax, dword [0x4243a8]
push dword [eax + 0x11bc]
push dword [eax + 0x11b8]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11b8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov eax, dword [0x424364]
mov byte [eax], 0
call fcn.00417c00
jmp 0x413ea8
mov eax, dword [0x4243a8]
mov dword [eax + 0x11b8], 0
mov dword [eax + 0x11bc], 0
mov eax, dword [0x4243a8]
push dword [eax + 0x11bc]
push dword [eax + 0x11b8]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11b8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [0x4243a8]
call fcn.0041d724
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 4
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov eax, dword [0x4243a8]
push dword [eax + 0x11cc]
push dword [eax + 0x11c8]
mov eax, dword [0x4243a8]
push dword [eax + 0x11a4]
push dword [eax + 0x11a0]
mov edx, dword [0x4244ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.00416c50
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [0x4243a8]
mov dword [eax + 0x11a0], 0
mov dword [eax + 0x11a4], 0
mov eax, dword [0x4243a8]
push dword [eax + 0x11a4]
push dword [eax + 0x11a0]
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11a0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov edx, dword [0x4244ec]
mov edx, dword [edx]
mov eax, dword [0x4243a8]
call fcn.0041d724
mov eax, dword [0x4243a8]
mov dword [eax + 0x11a0], 0
mov dword [eax + 0x11a4], 0
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 5
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov eax, dword [0x4243a8]
push dword [eax + 0x11d4]
push dword [eax + 0x11d0]
mov eax, dword [0x4243a8]
push dword [eax + 0x11ac]
push dword [eax + 0x11a8]
mov edx, dword [0x4244ec]
mov edx, dword [edx]
lea eax, [ebp - 0x14]
call fcn.00416c50
test al, al
je 0x414112
mov eax, dword [ebp - 0x14]
call fcn.0040abc0
cmp edx, 0
jne 0x4140d6
cmp eax, 0x989680
jbe 0x414112
jmp 0x4140d8
jle 0x414112
mov eax, dword [0x4243a8]
mov dword [eax + 0x11a8], 0
mov dword [eax + 0x11ac], 0
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11a8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
mov eax, dword [0x4243a8]
mov dword [eax + 0x11a8], 0
mov dword [eax + 0x11ac], 0
push 0
push 0
push 0
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x11a8
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.0041d4c4
mov eax, dword [0x4243a8]
cmp byte [eax + 0x1108], 0
jne 0x41425d
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 0x14
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
push 0
push 4
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x4143f9
cmp dword [ebp - 0x20], 1
jne 0x41425d
mov eax, dword [0x4243a8]
mov byte [eax + 0x1108], 1
push 0
push 0
push 1
mov eax, dword [0x4244ec]
mov eax, dword [eax]
push eax
push 0x1108
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.0041d4c4
test al, al
je 0x414253
mov eax, 0x41467c
call fcn.0041b370
jmp 0x41425d
mov eax, 0x41469c
call fcn.0041b370
cmp byte [0x423db8], 0
jne 0x4143f9
mov eax, dword [ebp - 0x14]
call fcn.0040b1bc
mov dword [ebp - 0x15c], 0xa
lea eax, [ebp - 0x158]
mov edx, dword [0x4243a8]
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0xf3]
mov edx, dword [0x4243a8]
add edx, 0x200
mov cl, 0x64
call fcn.00402c40
lea eax, [ebp - 0x8e]
mov edx, dword [0x4243a8]
add edx, 0x100
mov cl, 0x2d
call fcn.00402c40
lea edx, [ebp - 0x298]
mov eax, dword [0x4243f4]
mov eax, dword [eax]
call fcn.0040760c
mov edx, dword [ebp - 0x298]
lea eax, [ebp - 0x264]
mov ecx, 0xff
call fcn.00404288
lea edx, [ebp - 0x264]
lea eax, [ebp - 0x60]
mov cl, 0x2d
call fcn.00402c40
mov eax, dword [0x424464]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x15c]
mov ecx, 0x138
mov eax, dword [ebp - 0x14]
call fcn.0040acfc
mov ecx, 0xfb8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00412c2c
test al, al
je 0x4143f9
push 0
push 4
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x4143f9
cmp dword [ebp - 0x20], 0
jle 0x4143f9
mov eax, dword [0x42438c]
mov edx, dword [ebp - 8]
call fcn.00404060
mov eax, dword [0x42450c]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x412b28
push 0
push 0
call sub.kernel32.dll_CreateThread_1
mov eax, 0x425900
mov edx, dword [ebp - 8]
call fcn.00404060
mov eax, dword [ebp - 0xc]
mov dword [0x4258fc], eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x4131fc
push 0
push 0
call sub.kernel32.dll_CreateThread_1
jmp 0x414431
mov eax, 0x7e8
call fcn.00402544
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x4143f2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x7e8
lea eax, [ebp - 0x24]
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 0x4143f9
mov eax, dword [ebp - 0x24]
call fcn.00402564
ret
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_closesocket
jmp 0x414431
test bl, bl
jne 0x414431
mov bl, 1
mov eax, esi
sub eax, 0x50
je 0x41441d
sub eax, 0x16b
je 0x414427
jmp 0x41336a
mov esi, 0x1bb
jmp 0x41336a
mov esi, 0x50
jmp 0x41336a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x414456
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 0x4144b0
lea eax, [ebp - 0x298]
mov edx, 0xd
call fcn.00404030
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.00404030
lea eax, [ebp - 8]
call fcn.0040400c
ret