Function at 0x4efde6
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0x8c
mov eax, 0x5da8e5
call fcn.00523519
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x34], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp + 0x18], ebx
jbe 0x4efe18
add eax, dword [ebp + 0x18]
jmp 0x4efe1d
add eax, 0x7530
cmp edi, ebx
mov dword [ebp - 0x48], eax
je 0x4efe26
mov dword [edi], ebx
mov ecx, esi
call fcn.0043ba89
cmp dword [esi + 0x158], 3
mov ecx, dword [ebp + 0xc]
lea edi, [eax + ecx + 0x46]
jne 0x4efe43
add edi, 0x1c2
push edi
mov ecx, 0x721f90
call fcn.004cc3c9
mov eax, edi
cdq
lea ecx, [esi + 0x358]
add dword [ecx], eax
mov eax, dword [esi + 0x158]
adc dword [ecx + 4], edx
cmp eax, 7
jne 0x4efe6d
mov eax, dword [esi + 0x15c]
cmp eax, 3
jl 0x4f05d4
cmp eax, 4
jle 0x4f05b9
cmp eax, 6
jle 0x4f004f
cmp eax, 8
jne 0x4f05d4
push 1
mov edi, 0x67dce4
lea ecx, [esi + 0x1a8]
push edi
call fcn.004ad5c4
test eax, eax
lea ecx, [esi + 0x1a8]
jle 0x4efebb
push 0x67dcc0
push edi
call fcn.004ace26
jmp 0x4efec6
push ebx
push str.Connection:_close_r_n
call fcn.004acfec
push 6
push str._HTML_
push dword [ebp - 0x40]
call fcn.00520c6b
add esp, 0xc
test eax, eax
je 0x4efef2
push 6
push str._html_
push dword [ebp - 0x40]
call fcn.00520c6b
add esp, 0xc
test eax, eax
jne 0x4eff27
push 1
mov edi, str.Content_Type:_application_octet_stream
push edi
lea ecx, [esi + 0x1a8]
call fcn.004ad5c4
test eax, eax
lea ecx, [esi + 0x1a8]
jle 0x4eff1c
push str.Content_Type:_text_html
push edi
call fcn.004ace26
jmp 0x4eff27
push ebx
push str.Content_Type:_text_html_r_n
call fcn.004acfec
mov eax, dword [esi + 0x1ac]
mov ecx, dword [ebp + 0xc]
lea eax, [eax + ecx + 0x1e]
push eax
call fcn.004fed14
sub esp, 0x20
mov edi, eax
lea eax, [esi + 0x1a8]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
mov byte [edi], bl
call fcn.004ac698
mov dword [ebp - 4], 6
lea eax, [ebp - 0x7c]
push eax
or dword [ebp - 4], 0xffffffff
call fcn.004ae117
add esp, 0x28
mov dword [ebp - 4], 7
cmp dword [eax + 0x18], 0x10
jb 0x4eff7b
mov eax, dword [eax + 4]
jmp 0x4eff7e
add eax, 4
push eax
push edi
call fcn.00526410
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x7c]
call fcn.004108b7
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push str.Content_length:__d_r_n_r_n
push eax
mov byte [ebp - 0x30], bl
call fcn.0051dd8f
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.00526410
push edi
call fcn.005235d0
push dword [ebp + 0xc]
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x40]
add eax, edi
push eax
call fcn.005229e0
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
push ecx
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push dword [esi + 0x160]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x3c]
add eax, ecx
push eax
push edi
mov ecx, esi
call fcn.004eaff4
cmp eax, ebx
mov dword [ebp - 0x34], eax
je 0x4f0029
push esi
push ebx
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ebx
push str._NC.Send.WriteJava.Failed
call fcn.004ac9bc
mov dword [ebp - 4], 8
or dword [ebp - 4], 0xffffffff
mov ecx, 0x721f18
call fcn.004bc4ff
push edi
call fcn.0051d89c
cmp dword [ebp - 0x44], ebx
pop ecx
je 0x4f0621
cmp dword [ebp - 0x34], ebx
jne 0x4f0621
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
jmp 0x4f0621
mov al, byte [esi + 0x264]
cmp al, bl
je 0x4f0094
cmp dword [ebp + 0xc], ebx
jne 0x4f0065
xor eax, eax
jmp 0x4f0630
cmp al, bl
je 0x4f0094
cmp byte [esi + 0x248], bl
jne 0x4f0094
mov ecx, esi
call fcn.004eec14
push 0x3e8
mov ecx, esi
call fcn.004ef406
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x264], bl
jne 0x4f0069
lea eax, [esi + 0x140]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411742
mov dword [ebp - 4], ebx
mov ecx, esi
mov byte [esi + 0x264], 1
call fcn.0043ba89
add eax, dword [ebp + 0xc]
jne 0x4f00d9
mov byte [esi + 0x264], bl
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x4c], bl
je 0x4f0621
mov ecx, dword [ebp - 0x50]
call fcn.0040df8b
jmp 0x4f0621
cmp byte [ebp + 0x1c], bl
mov edi, dword [ebp - 0x48]
mov byte [ebp - 0x35], bl
je 0x4f0143
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov ecx, esi
add edi, 0x7d0
call fcn.0043ba89
test eax, eax
jbe 0x4f0143
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
add edi, 0x64
jmp 0x4f0143
cmp byte [esi + 0x248], bl
jne 0x4f014b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, edi
jae 0x4f014b
mov ecx, esi
call fcn.004eec14
push 0x3e8
mov ecx, esi
call fcn.004ef406
cmp byte [esi + 0x188], bl
jne 0x4f013f
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 0x35], 1
cmp byte [esi + 0x188], bl
je 0x4f010a
cmp byte [ebp + 0x1c], bl
je 0x4f018f
cmp byte [esi + 0x188], bl
jne 0x4f018f
cmp byte [esi + 0x248], bl
jne 0x4f0197
push ebx
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp - 0x40]
call fcn.004d2356
mov byte [esi + 0x264], bl
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x4c], bl
je 0x4f005e
mov ecx, dword [ebp - 0x50]
call fcn.0040df8b
jmp 0x4f005e
cmp byte [esi + 0x248], bl
je 0x4f01bb
cmp dword [ebp + 0xc], ebx
jbe 0x4f01bb
mov byte [esi + 0x264], bl
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x4c], bl
je 0x4f01b3
mov ecx, dword [ebp - 0x50]
call fcn.0040df8b
or eax, 0xffffffff
jmp 0x4f0630
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp - 0x48]
jb 0x4f022c
push esi
push ebx
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ebx
push str._NC.Send.Timeout
call fcn.004ac9bc
mov byte [ebp - 4], 1
mov byte [ebp - 4], bl
mov ecx, 0x721f18
call fcn.004bc4ff
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ebx
push str.SendData.GETWaitingTimeout
call fcn.004ac9bc
mov byte [ebp - 4], 2
mov byte [ebp - 4], bl
mov ecx, esi
call fcn.004ea560
mov byte [esi + 0x264], bl
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x4c], bl
je 0x4f0224
mov ecx, dword [ebp - 0x50]
call fcn.0040df8b
xor eax, eax
inc eax
jmp 0x4f0630
cmp dword [esi + 0x18c], ebx
mov dword [ebp - 0x34], ebx
jne 0x4f0400
cmp byte [esi + 0x248], bl
je 0x4f024b
mov dword [esi + 8], ebx
mov dword [ebp + 0xc], ebx
jmp 0x4f026c
cmp dword [esi + 0x158], 5
jne 0x4f0260
mov ecx, esi
call fcn.0043ba89
add eax, dword [ebp + 0xc]
jmp 0x4f0266
mov eax, dword [esi + 0x290]
mov dword [esi + 0x18c], eax
cmp byte [ebp + 0x14], bl
je 0x4f02a6
push 1
mov edi, 0x67dce4
lea ecx, [esi + 0x1a8]
push edi
call fcn.004ad5c4
test eax, eax
lea ecx, [esi + 0x1a8]
jle 0x4f029b
push 0x67dcc0
push edi
call fcn.004ace26
jmp 0x4f02a6
push ebx
push str.Connection:_close_r_n
call fcn.004acfec
cmp byte [ebp - 0x35], bl
je 0x4f02d1
cmp dword [esi + 0x18c], 0x1388
jb 0x4f02d1
cmp dword [esi + 0x158], 5
jne 0x4f02d1
push ebx
push str.X_Measure:_1_r_n
lea ecx, [esi + 0x1a8]
call fcn.004acfec
mov edi, dword [esi + 0x1ac]
mov ecx, esi
call fcn.0043ba89
mov ecx, dword [ebp + 0xc]
add eax, edi
lea eax, [eax + ecx + 0x1e]
push eax
call fcn.004fed14
mov edi, eax
sub esp, 0x20
lea eax, [esi + 0x1a8]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x5c], edi
mov byte [edi], bl
call fcn.004ac698
mov byte [ebp - 4], 3
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], bl
call fcn.004ae117
add esp, 0x28
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x4f032d
mov eax, dword [eax + 4]
jmp 0x4f0330
add eax, 4
push eax
push edi
call fcn.00526410
pop ecx
pop ecx
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x98]
call fcn.004108b7
push dword [esi + 0x18c]
lea eax, [ebp - 0x30]
push str.Content_length:__d_r_n_r_n
push eax
mov byte [ebp - 0x30], bl
call fcn.0051dd8f
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.00526410
push edi
call fcn.005235d0
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x1a0]
add esp, 0x18
cmp eax, ebx
je 0x4f0388
push eax
call fcn.0051d89c
pop ecx
mov ecx, esi
call fcn.0043ba89
add eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0xc]
add eax, ecx
push eax
mov dword [esi + 0x1a4], eax
call fcn.004fed14
push dword [ebp - 0x34]
mov dword [esi + 0x1a0], eax
push edi
push eax
call fcn.005229e0
add esp, 0x10
mov ecx, esi
call fcn.0043ba89
test eax, eax
jbe 0x4f03da
mov ecx, esi
call fcn.0043ba89
push eax
mov eax, dword [esi + 0x1a0]
add eax, dword [ebp - 0x34]
mov ecx, esi
push eax
call fcn.004d258a
cmp dword [ebp + 0xc], ebx
jbe 0x4f0416
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp - 0x40]
call fcn.0043ba89
add eax, dword [ebp - 0x34]
add eax, dword [esi + 0x1a0]
push eax
call fcn.005229e0
add esp, 0xc
jmp 0x4f0416
mov ecx, esi
call fcn.0043ba89
add eax, dword [ebp + 0xc]
push eax
call fcn.004fed14
pop ecx
mov edi, eax
mov dword [ebp - 0x5c], eax
mov ecx, esi
call fcn.0043ba89
cmp eax, ebx
mov dword [ebp - 0x54], eax
jle 0x4f0432
push eax
mov eax, dword [ebp - 0x34]
add eax, edi
push eax
mov ecx, esi
call fcn.004d2516
cmp dword [ebp + 0xc], ebx
jbe 0x4f044e
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x40]
add eax, edi
add eax, dword [ebp - 0x34]
push eax
call fcn.005229e0
add esp, 0xc
mov eax, dword [esi + 0x160]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
lea edi, [eax + ecx]
mov eax, dword [esi + 0x18c]
cmp edi, eax
mov dword [ebp - 0x3c], edi
jbe 0x4f046f
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
push ecx
push dword [ebp + 0x14]
lea eax, [ebp - 0x34]
push dword [esi + 0x160]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x34]
add eax, edi
push eax
push dword [ebp - 0x5c]
call fcn.004eaff4
cmp eax, ebx
mov dword [ebp - 0x34], eax
je 0x4f04d1
push esi
push ebx
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x60], esp
push ebx
push str._NC.Send.Write.Failed
call fcn.004ac9bc
mov byte [ebp - 4], 5
mov byte [ebp - 4], bl
mov ecx, 0x721f18
call fcn.004bc4ff
cmp dword [esi + 0x158], 5
jne 0x4f04d1
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x5c]
sub dword [esi + 0x18c], edi
call fcn.0051d89c
cmp dword [esi + 0x18c], ebx
pop ecx
jne 0x4f054a
mov ecx, dword [ebp - 0x58]
cmp dword [esi + 0x160], ecx
mov byte [esi + 0x188], bl
jne 0x4f0500
or dword [esi + 0x160], 0xffffffff
lea eax, [esi + 0x164]
cmp dword [eax], ecx
jne 0x4f050d
or dword [eax], 0xffffffff
cmp byte [ebp + 0x14], bl
je 0x4f0525
cmp dword [esi + 0x158], 6
jne 0x4f0525
push ecx
mov ecx, esi
call fcn.004ea59c
jmp 0x4f054a
push 1
push 0x67dcc0
lea ecx, [esi + 0x1a8]
call fcn.004ad5c4
test eax, eax
mov ecx, esi
jle 0x4f0541
push 1
jmp 0x4f0542
push ebx
push dword [ebp - 0x58]
call fcn.004eeb30
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x4f0562
cmp dword [ebp - 0x34], ebx
jne 0x4f0562
cmp dword [ebp - 0x3c], edi
jne 0x4f0565
mov dword [eax], edi
jmp 0x4f00b9
cmp dword [ebp - 0x3c], edi
jbe 0x4f00b9
cmp dword [ebp - 0x34], ebx
jne 0x4f00b9
push ebx
mov byte [esi + 0x264], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x54]
push ecx
push dword [ebp + 0x14]
sub eax, edi
add eax, dword [ebp + 0xc]
push dword [ebp - 0x44]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x40]
add eax, edi
push eax
call fcn.004efde6
cmp dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], eax
je 0x4f00b9
mov eax, dword [ebp - 0x44]
add dword [eax], edi
jmp 0x4f00b9
push dword [ebp + 0x18]
mov ecx, esi
push dword [ebp + 0x14]
push dword [ebp - 0x44]
push dword [ebp + 0xc]
push dword [ebp - 0x40]
call fcn.004ec19d
mov dword [ebp - 0x34], eax
jmp 0x4f0621
push dword [ebp + 0x18]
mov ecx, esi
push dword [ebp + 0x14]
push dword [esi + 0x160]
push dword [ebp - 0x44]
push dword [ebp + 0xc]
push dword [ebp - 0x40]
call fcn.004eaff4
cmp eax, ebx
mov dword [ebp - 0x34], eax
je 0x4f0621
push esi
push ebx
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x60], esp
push ebx
push str._NC.Send.Write.Failed2
call fcn.004ac9bc
mov dword [ebp - 4], 9
or dword [ebp - 4], 0xffffffff
mov ecx, 0x721f18
call fcn.004bc4ff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x24c], eax
mov eax, dword [ebp - 0x34]
call fcn.0052359c
ret 0x18