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

Disassembly:
push 0xffffffffffffffff
push 0x4a40b0
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 0x464c44
mov edx, dword [ebp + 4]
test edx, edx
je 0x464b66
mov ecx, eax
sub ecx, edx
cmp ebx, ecx
jb 0x464b68
mov ecx, ebx
test edx, edx
jne 0x464b70
xor eax, eax
jmp 0x464b72
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x18], eax
jge 0x464b7e
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 0x464bc2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.00460230
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 0x464b9a
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.00460200
mov edx, dword [ebp + 8]
push eax
push edx
push edi
mov ecx, ebp
call fcn.00460200
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push eax
push ecx
mov ecx, ebp
call fcn.0042b460
mov eax, dword [ebp + 4]
push eax
call fcn.00437568
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 0x464c2c
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 0x464ccc
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 0x464ccc
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x464c88
lea edx, [ebx + edi]
mov ecx, ebp
push edx
push eax
push edi
call fcn.00460200
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.00460200
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x178]
sub edx, edi
push edi
add edx, eax
push edx
push eax
jmp 0x464cbc
test ebx, ebx
jbe 0x464ccc
push eax
push eax
sub eax, ebx
mov ecx, ebp
push eax
call fcn.00460200
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, ebx
cmp edi, eax
je 0x464cae
mov dl, byte [eax - 1]
dec eax
dec ecx
cmp eax, edi
mov byte [ecx], dl
jne 0x464ca3
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x178]
push edi
push eax
push ecx
call fcn.00467570
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 0x464cd7
xor eax, eax
jmp 0x464cdc
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.0047e2b0
test eax, eax
jne 0x464da0
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 0x464d21
mov edx, dword [ebp + 8]
sub edx, ecx
cmp edx, eax
jae 0x464d31
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x464d2c
xor eax, eax
jmp 0x464d31
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.00461f00
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0xf0]
add esp, 0x10
test eax, eax
jne 0x464d5c
xor ebp, ebp
jmp 0x464d61
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 0x4c8978
call fcn.004558c0
add esp, 0x20
push 0
push 0x5015
jmp 0x4654d7
mov ecx, edi
call fcn.00448fd0
test eax, eax
je 0x4654e5
mov ecx, esi
call fcn.00466d20
mov ecx, edi
call fcn.0047f900
mov dword [esi + 0x108], eax
mov ecx, edi
mov dword [esi + 0x10c], edx
call fcn.00475470
cmp eax, 0xce
jne 0x464e08
mov ecx, edi
call fcn.00401390
test eax, eax
je 0x464e08
mov ecx, edi
call fcn.0047f8e0
mov dword [esi + 0x110], eax
mov ecx, edi
mov dword [esi + 0x114], edx
call fcn.0047f8f0
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], edx
mov ecx, edi
call fcn.00475470
mov ecx, edi
mov dword [esi + 0x140], eax
call fcn.0047f910
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.004598f0
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 0x464e7b
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x464e87
mov ebx, eax
mov ecx, edi
call fcn.0047f900
push edx
push eax
mov ecx, edi
call fcn.00475470
push eax
mov ecx, edi
call fcn.00435d70
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 0x4c89f8
call fcn.00453b40
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.00475470
cmp eax, 0xc8
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0xce
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x12d
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x12e
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x12f
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x130
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x133
je 0x465098
mov ecx, edi
call fcn.00475470
cmp eax, 0x197
jne 0x4654c1
cmp dword [esi + 0xd8], ebx
jne 0x4654c1
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 0x46506f
mov eax, dword [esi + 0xdc]
cmp eax, 3
je 0x464fba
cmp eax, 2
jne 0x46506f
lea edx, [esp + 0x48]
mov ecx, edi
push edx
push str.Proxy_Authenticate
call fcn.0047f5f0
test eax, eax
je 0x46506f
push str.Keep_Alive
push str.Proxy_Connection
mov ecx, edi
call fcn.0047f840
test eax, eax
je 0x464ff0
mov dword [esi + 0x3e4], ebx
jmp 0x464ffa
mov dword [esi + 0x3e4], 0
mov eax, dword [esi + 0xdc]
cmp eax, 2
jne 0x46502a
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x465013
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 0x465052
cmp eax, 3
jne 0x46506f
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x46503d
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 0x46506f
mov ecx, esi
mov dword [esi + 0x3e0], ebx
call fcn.00465520
jmp 0x46507d
push 0
push 0x507b
mov ecx, esi
call fcn.00463150
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 0x4654de
push 6
mov ecx, esi
call fcn.00465eb0
mov ecx, edi
call fcn.00475470
mov ecx, dword [esi + 0xe4]
mov edx, dword [esi + 0xe0]
push eax
push ecx
push 0x66
push edx
mov ecx, 0x4c88c8
call fcn.00451c00
mov ecx, edi
call fcn.00475470
cmp eax, 0x12d
je 0x465115
mov ecx, edi
call fcn.00475470
cmp eax, 0x12e
je 0x465115
mov ecx, edi
call fcn.00475470
cmp eax, 0x12f
je 0x465115
mov ecx, edi
call fcn.00475470
cmp eax, 0xc8
je 0x465109
mov ecx, edi
call fcn.00475470
cmp eax, 0xce
jne 0x465169
mov dword [esi + 0x174], 0
jmp 0x465169
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 0x465142
push 0
push 0x5017
jmp 0x4654d7
mov ecx, edi
call fcn.0047f910
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4654d0
mov eax, dword [esi + 0x158]
test eax, eax
je 0x46549f
mov ecx, esi
call fcn.00465610
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.0047f920
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.0047f930
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 0x46520d
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x4651f9
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 0x465236
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4652a5
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x465222
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 0x4652a5
xor edi, edi
mov ecx, esi
push edi
push 0x501a
call fcn.00463150
mov ecx, dword [esp + 0x24]
cmp ecx, edi
je 0x465269
mov al, byte [ecx - 1]
test al, al
je 0x46525f
cmp al, 0xff
je 0x46525f
dec al
mov byte [ecx - 1], al
jmp 0x465269
dec ecx
push ecx
call fcn.00437568
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 0x4654de
mov al, byte [ecx - 1]
test al, al
je 0x465296
cmp al, 0xff
je 0x465296
dec al
mov byte [ecx - 1], al
jmp 0x4654de
dec ecx
push ecx
call fcn.00437568
add esp, 4
jmp 0x4654de
mov eax, dword [ebp + 4]
test eax, eax
jne 0x4652b0
xor ebp, ebp
jmp 0x4652b5
mov ebp, dword [ebp + 8]
sub ebp, eax
mov ecx, edi
call fcn.00435d70
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 0x4653c7
mov ecx, dword [esi + 0x140]
xor ebp, ebp
xor edi, edi
xor eax, eax
cmp ecx, 0xc8
jne 0x4652fd
mov edi, dword [esi + 0x108]
mov eax, dword [esi + 0x10c]
jmp 0x465321
cmp ecx, 0xce
jne 0x465321
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 0x4653ee
jb 0x46533b
cmp edi, dword [esi + 0x328]
jae 0x4653ee
mov ecx, dword [esi + 0x334]
cmp ecx, ebp
jne 0x465349
xor eax, eax
jmp 0x465351
mov eax, dword [esi + 0x33c]
sub eax, ecx
cmp eax, edi
jae 0x4653c7
test edi, edi
mov eax, edi
jge 0x46535d
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 0x465388
test ecx, ecx
je 0x465382
mov bl, byte [eax]
mov byte [ecx], bl
inc ecx
inc eax
cmp eax, edx
jne 0x46537a
mov eax, dword [esi + 0x334]
push eax
mov dword [esp + 0x18], eax
call fcn.00437568
mov eax, dword [esi + 0x334]
add esp, 4
add edi, ebp
test eax, eax
mov dword [esi + 0x33c], edi
jne 0x4653b1
xor ecx, ecx
jmp 0x4653b9
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.00465500
mov ecx, dword [esp + 0x24]
xor esi, esi
cmp ecx, esi
je 0x465465
mov al, byte [ecx - 1]
test al, al
je 0x46545b
cmp al, 0xff
je 0x46545b
dec al
mov byte [ecx - 1], al
jmp 0x465465
push ebp
push 0x501b
mov ecx, esi
call fcn.00463150
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
je 0x46541f
mov al, byte [ecx - 1]
test al, al
je 0x465415
cmp al, 0xff
je 0x465415
dec al
mov byte [ecx - 1], al
jmp 0x46541f
dec ecx
push ecx
call fcn.00437568
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 0x465454
mov al, byte [ecx - 1]
test al, al
je 0x46544a
cmp al, 0xff
je 0x46544a
dec al
mov byte [ecx - 1], al
mov eax, ebx
jmp 0x4654e5
dec ecx
push ecx
call fcn.00437568
add esp, 4
mov eax, ebx
jmp 0x4654e5
dec ecx
push ecx
call fcn.00437568
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 0x465499
mov al, byte [ecx - 1]
test al, al
je 0x46548f
cmp al, 0xff
je 0x46548f
dec al
mov byte [ecx - 1], al
mov eax, dword [esp + 0x18]
jmp 0x4654e5
dec ecx
push ecx
call fcn.00437568
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4654e5
mov ecx, edi
call fcn.00475470
mov edx, dword [esi + 0xe4]
push eax
mov eax, dword [esi + 0xe0]
push edx
push 0x66
push eax
mov ecx, 0x4c88c8
call fcn.00451c00
mov ecx, edi
call fcn.00475470
push eax
push 0x5016
jmp 0x4654d7
push 0
push 0x5019
mov ecx, esi
call fcn.00463150
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