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

Disassembly:
push 0xffffffffffffffff
push 0x4acfb0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x158
mov eax, dword [esp + 0x168]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [esp + 0x17c]
mov edx, dword [esi + 0x228]
mov edi, dword [esi + 0x224]
lea ebx, [eax + ecx]
lea ebp, [esi + 0x21c]
mov dword [esp + 0x34], ebx
sub ebx, eax
mov eax, dword [ebp + 8]
sub edx, eax
cmp edx, ebx
jae 0x465ea4
mov edx, dword [ebp + 4]
test edx, edx
je 0x465dc6
mov ecx, eax
sub ecx, edx
cmp ebx, ecx
jb 0x465dc8
mov ecx, ebx
test edx, edx
jne 0x465dd0
xor eax, eax
jmp 0x465dd2
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x18], eax
jge 0x465dde
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 4]
add esp, 4
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x465e22
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.00460cb0
mov eax, dword [esp + 0x24]
add esp, 8
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
inc eax
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x465dfa
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x178]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.00460c60
mov edx, dword [ebp + 8]
push eax
push edx
push edi
mov ecx, ebp
call fcn.00460c60
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push eax
push ecx
mov ecx, ebp
call fcn.00460c50
mov eax, dword [ebp + 4]
push eax
call fcn.0049c000
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edx, eax
mov eax, dword [ebp + 4]
add esp, 4
mov dword [ebp + 0xc], edx
test eax, eax
jne 0x465e8c
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ecx, eax
mov dword [ebp + 4], eax
add ecx, ebx
mov dword [ebp + 8], ecx
jmp 0x465f2c
mov ecx, dword [ebp + 8]
sub ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
mov dword [ebp + 4], eax
add ecx, ebx
mov dword [ebp + 8], ecx
jmp 0x465f2c
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x465ee8
lea edx, [ebx + edi]
mov ecx, ebp
push edx
push eax
push edi
call fcn.00460c60
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x180]
sub eax, edi
add eax, ecx
mov ecx, ebp
push eax
call fcn.00460c60
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x178]
sub edx, edi
push edi
add edx, eax
push edx
push eax
jmp 0x465f1c
test ebx, ebx
jbe 0x465f2c
push eax
push eax
sub eax, ebx
mov ecx, ebp
push eax
call fcn.00460c60
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, ebx
cmp edi, eax
je 0x465f0e
mov dl, byte [eax - 1]
dec eax
dec ecx
cmp eax, edi
mov byte [ecx], dl
jne 0x465f03
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x178]
push edi
push eax
push ecx
call fcn.00460c90
mov eax, dword [ebp + 8]
add esp, 0xc
add eax, ebx
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x465f37
xor eax, eax
jmp 0x465f3c
mov eax, dword [ebp + 8]
sub eax, ecx
mov ecx, dword [esi + 0x220]
lea edi, [esi + 0x230]
push eax
push ecx
mov ecx, edi
call fcn.004812c0
test eax, eax
jne 0x466000
mov ecx, 0x40
lea edi, [esp + 0x68]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x18], 0x100
test ecx, ecx
mov eax, 0x32
je 0x465f81
mov edx, dword [ebp + 8]
sub edx, ecx
cmp edx, eax
jae 0x465f91
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x465f8c
xor eax, eax
jmp 0x465f91
mov eax, dword [ebp + 8]
sub eax, ecx
lea ecx, [esp + 0x18]
lea edx, [esp + 0x68]
push ecx
push edx
push eax
mov eax, dword [esi + 0x220]
push eax
call fcn.00462c00
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0xf0]
add esp, 0x10
test eax, eax
jne 0x465fbc
xor ebp, ebp
jmp 0x465fc1
mov ebp, dword [ebp + 8]
sub ebp, eax
lea edx, [esp + 0x68]
push edx
push ebp
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov ecx, dword [esi + 0xe0]
push eax
mov eax, dword [esi + 0xe4]
push eax
push str.Cid__u__IP__s__size__u__hex:_s
push str.HTTP_INVALID_HEADER
push ecx
push 0x4d0fc8
call fcn.00455840
add esp, 0x20
push 0
push 0x5015
jmp 0x466737
mov ecx, edi
call fcn.004812b0
test eax, eax
je 0x466745
mov ecx, esi
call fcn.00468080
mov ecx, edi
call fcn.00482a20
mov dword [esi + 0x108], eax
mov ecx, edi
mov dword [esi + 0x10c], edx
call fcn.00482ac0
cmp eax, 0xce
jne 0x466068
mov ecx, edi
call fcn.004829f0
test eax, eax
je 0x466068
mov ecx, edi
call fcn.00482a00
mov dword [esi + 0x110], eax
mov ecx, edi
mov dword [esi + 0x114], edx
call fcn.00482a10
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], edx
mov ecx, edi
call fcn.00482ac0
mov ecx, edi
mov dword [esi + 0x140], eax
call fcn.00482a60
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [esi + 0x74]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [esi + 0x198], eax
call ebx
mov dword [esi + 0x190], eax
mov edx, dword [esi + 0x15c]
lea eax, [esp + 0x58]
push edx
push eax
call fcn.00459ab0
add esp, 8
mov eax, dword [eax + 4]
mov ebx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
test eax, eax
mov dword [esp + 0x170], 0
mov dword [esp + 0x14], ebx
je 0x4660db
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x4660e7
mov ebx, eax
mov ecx, edi
call fcn.00482a20
push edx
push eax
mov ecx, edi
call fcn.00482ac0
push eax
mov ecx, edi
call fcn.00482ab0
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + 0xe4]
push eax
mov eax, dword [esi + 0xe0]
push ecx
push ebx
push edx
push eax
push str.__d._3d___s__s__Receive_Header_Completed____d_bytes___status_code:_d___Content_Length_:__I64d
push 0x4d1048
call fcn.00453980
add esp, 0x28
mov ebx, 1
lea ecx, [esp + 0x58]
mov dword [esp + 0x170], 0xffffffff
push ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov ecx, edi
call fcn.00482ac0
cmp eax, 0xc8
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0xce
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12d
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12e
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12f
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x130
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x133
je 0x4662f8
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x197
jne 0x466721
cmp dword [esi + 0xd8], ebx
jne 0x466721
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x4c], cl
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [esi + 0x3e0]
mov dword [esp + 0x170], ebx
test eax, eax
jne 0x4662cf
mov eax, dword [esi + 0xdc]
cmp eax, 3
je 0x46621a
cmp eax, 2
jne 0x4662cf
lea edx, [esp + 0x48]
mov ecx, edi
push edx
push str.Proxy_Authenticate
call fcn.004826d0
test eax, eax
je 0x4662cf
push str.Keep_Alive
push str.Proxy_Connection
mov ecx, edi
call fcn.00482920
test eax, eax
je 0x466250
mov dword [esi + 0x3e4], ebx
jmp 0x46625a
mov dword [esi + 0x3e4], 0
mov eax, dword [esi + 0xdc]
cmp eax, 2
jne 0x46628a
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x466273
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, str.NTLM
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.NTLM
jmp 0x4662b2
cmp eax, 3
jne 0x4662cf
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x46629d
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, str.Negotiate
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Negotiate
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x4662cf
mov ecx, esi
mov dword [esi + 0x3e0], ebx
call fcn.00466780
jmp 0x4662dd
push 0
push 0x507b
mov ecx, esi
call fcn.00464120
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x174], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x46673e
push 6
mov ecx, esi
call fcn.00467110
mov ecx, edi
call fcn.00482ac0
mov ecx, dword [esi + 0xe4]
mov edx, dword [esi + 0xe0]
push eax
push ecx
push 0x66
push edx
mov ecx, 0x4d0f18
call fcn.00451a00
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12d
je 0x466375
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12e
je 0x466375
mov ecx, edi
call fcn.00482ac0
cmp eax, 0x12f
je 0x466375
mov ecx, edi
call fcn.00482ac0
cmp eax, 0xc8
je 0x466369
mov ecx, edi
call fcn.00482ac0
cmp eax, 0xce
jne 0x4663c9
mov dword [esi + 0x174], 0
jmp 0x4663c9
mov ebx, dword [esi + 0x174]
mov edx, dword [esi + 0x178]
inc ebx
inc edx
mov eax, ebx
mov dword [esi + 0x174], ebx
cmp eax, 5
mov dword [esi + 0x178], edx
jl 0x4663a2
push 0
push 0x5017
jmp 0x466737
mov ecx, edi
call fcn.00482a60
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x466730
mov eax, dword [esi + 0x158]
test eax, eax
je 0x4666ff
mov ecx, esi
call fcn.00466870
mov al, byte [esp + 0x13]
xor ebx, ebx
mov byte [esp + 0x38], al
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x174], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, edi
mov byte [esp + 0x170], 3
call fcn.00482a90
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [edx]
push ecx
push ebx
push eax
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov ecx, edi
call fcn.00482aa0
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [edx]
push ecx
push ebx
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x40]
cmp eax, ebx
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
je 0x46646d
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x466459
mov ecx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
push str.chunked
push ecx
call ebx
add esp, 0xc
test eax, eax
je 0x466496
mov eax, dword [esp + 0x40]
test eax, eax
je 0x466505
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x466482
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esp + 0x28]
push edx
push str.gzip
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x466505
xor edi, edi
mov ecx, esi
push edi
push 0x501a
call fcn.00464120
mov ecx, dword [esp + 0x24]
cmp ecx, edi
je 0x4664c9
mov al, byte [ecx - 1]
test al, al
je 0x4664bf
cmp al, 0xff
je 0x4664bf
dec al
mov byte [ecx - 1], al
jmp 0x4664c9
dec ecx
push ecx
call fcn.0049c000
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], edi
cmp ecx, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
je 0x46673e
mov al, byte [ecx - 1]
test al, al
je 0x4664f6
cmp al, 0xff
je 0x4664f6
dec al
mov byte [ecx - 1], al
jmp 0x46673e
dec ecx
push ecx
call fcn.0049c000
add esp, 4
jmp 0x46673e
mov eax, dword [ebp + 4]
test eax, eax
jne 0x466510
xor ebp, ebp
jmp 0x466515
mov ebp, dword [ebp + 8]
sub ebp, eax
mov ecx, edi
call fcn.00482ab0
mov ebx, dword [esp + 0x17c]
mov ecx, ebx
sub ecx, ebp
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x320]
test eax, eax
je 0x466627
mov ecx, dword [esi + 0x140]
xor ebp, ebp
xor edi, edi
xor eax, eax
cmp ecx, 0xc8
jne 0x46655d
mov edi, dword [esi + 0x108]
mov eax, dword [esi + 0x10c]
jmp 0x466581
cmp ecx, 0xce
jne 0x466581
mov edi, dword [esi + 0x118]
mov edx, dword [esi + 0x110]
mov eax, dword [esi + 0x11c]
mov ecx, dword [esi + 0x114]
sub edi, edx
sbb eax, ecx
cmp eax, dword [esi + 0x32c]
ja 0x46664e
jb 0x46659b
cmp edi, dword [esi + 0x328]
jae 0x46664e
mov ecx, dword [esi + 0x334]
cmp ecx, ebp
jne 0x4665a9
xor eax, eax
jmp 0x4665b1
mov eax, dword [esi + 0x33c]
sub eax, ecx
cmp eax, edi
jae 0x466627
test edi, edi
mov eax, edi
jge 0x4665bd
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esi + 0x338]
mov ebp, eax
mov eax, dword [esi + 0x334]
add esp, 4
cmp eax, edx
mov ecx, ebp
je 0x4665e8
test ecx, ecx
je 0x4665e2
mov bl, byte [eax]
mov byte [ecx], bl
inc ecx
inc eax
cmp eax, edx
jne 0x4665da
mov eax, dword [esi + 0x334]
push eax
mov dword [esp + 0x18], eax
call fcn.0049c000
mov eax, dword [esi + 0x334]
add esp, 4
add edi, ebp
test eax, eax
mov dword [esi + 0x33c], edi
jne 0x466611
xor ecx, ecx
jmp 0x466619
mov ecx, dword [esi + 0x338]
sub ecx, eax
add ecx, ebp
mov dword [esi + 0x334], ebp
mov dword [esi + 0x338], ecx
mov ecx, esi
call fcn.00466760
mov ecx, dword [esp + 0x24]
xor esi, esi
cmp ecx, esi
je 0x4666c5
mov al, byte [ecx - 1]
test al, al
je 0x4666bb
cmp al, 0xff
je 0x4666bb
dec al
mov byte [ecx - 1], al
jmp 0x4666c5
push ebp
push 0x501b
mov ecx, esi
call fcn.00464120
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
je 0x46667f
mov al, byte [ecx - 1]
test al, al
je 0x466675
cmp al, 0xff
je 0x466675
dec al
mov byte [ecx - 1], al
jmp 0x46667f
dec ecx
push ecx
call fcn.0049c000
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ebp
cmp ecx, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
je 0x4666b4
mov al, byte [ecx - 1]
test al, al
je 0x4666aa
cmp al, 0xff
je 0x4666aa
dec al
mov byte [ecx - 1], al
mov eax, ebx
jmp 0x466745
dec ecx
push ecx
call fcn.0049c000
add esp, 4
mov eax, ebx
jmp 0x466745
dec ecx
push ecx
call fcn.0049c000
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], esi
cmp ecx, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
je 0x4666f9
mov al, byte [ecx - 1]
test al, al
je 0x4666ef
cmp al, 0xff
je 0x4666ef
dec al
mov byte [ecx - 1], al
mov eax, dword [esp + 0x18]
jmp 0x466745
dec ecx
push ecx
call fcn.0049c000
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x466745
mov ecx, edi
call fcn.00482ac0
mov edx, dword [esi + 0xe4]
push eax
mov eax, dword [esi + 0xe0]
push edx
push 0x66
push eax
mov ecx, 0x4d0f18
call fcn.00451a00
mov ecx, edi
call fcn.00482ac0
push eax
push 0x5016
jmp 0x466737
push 0
push 0x5019
mov ecx, esi
call fcn.00464120
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x168]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x164
ret 8