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

Disassembly:
push 0xffffffffffffffff
push 0x793f58
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x856918]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc4]
xor ebp, ebp
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
cmp eax, ebp
je 0x598cc8
mov dword [eax], 6
mov edi, 0xf
mov eax, ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x598ce0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.00405920
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x84]
push edx
mov dword [esp + 0xb0], ebp
call fcn.004037e7
add esp, 8
mov ebx, 0x10
mov byte [esp + 0xa8], 2
cmp dword [esp + 0x44], ebx
jb 0x598d30
mov eax, dword [esp + 0x30]
push eax
call fcn.00564155
add esp, 4
mov esi, dword [esp + 0x98]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
cmp dword [esp + 0x94], ebp
je 0x599236
mov eax, edi
cmp esi, ebx
jae 0x598d65
lea eax, [esp + 0x84]
mov ecx, str.http:__
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598d90
test dl, dl
je 0x598d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x598d70
xor eax, eax
jmp 0x598d95
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x599236
mov eax, edi
cmp esi, ebx
jae 0x598daa
lea eax, [esp + 0x84]
mov ecx, str.https:__
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x598dd0
test dl, dl
je 0x598dcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x598dd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x598db0
xor eax, eax
jmp 0x598dd5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x599236
mov eax, edi
cmp esi, ebx
jae 0x598dea
lea eax, [esp + 0x84]
push 7
push str.http:__
push eax
call fcn.0056778c
add esp, 0xc
test eax, eax
je 0x598e64
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x98], ebx
jae 0x598e15
lea eax, [esp + 0x84]
push 8
push str.https:__
push eax
call fcn.0056778c
add esp, 0xc
test eax, eax
je 0x598e64
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x4c]
push str.http:__
push edx
call fcn.00404cfa
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0xb4], 3
call fcn.00403fb2
lea ecx, [esp + 0x48]
call fcn.00402ed7
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0xbc]
mov byte [esp + 0xa8], 4
test bl, 1
je 0x5990f9
test bl, 2
jne 0x5990f9
mov edi, dword [esp + 0x24]
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 1
test bl, 4
jne 0x598fe4
lea eax, [esp + 0x16]
push eax
lea ecx, [esp + 0x19]
push ecx
mov ecx, dword [edi + 0x20]
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.005aeec0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xb4], 5
call fcn.00403fb2
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 4
call fcn.00402ed7
lea ecx, [esp + 0x64]
push str.pend
push ecx
call fcn.00404cd7
add esp, 8
test al, al
je 0x598f1d
push 0x7b32cb
lea ecx, [esp + 0x68]
call fcn.00401b1d
cmp dword [esp + 0x78], ebp
jne 0x598fd4
test bl, 8
je 0x598fd4
cmp esi, ebp
jne 0x598fd4
lea edx, [esp + 0x16]
push edx
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
call fcn.005ad7b0
test al, al
je 0x598fa3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x1c]
cmp eax, 0x1388
jae 0x598fa3
cmp dword [esp + 0x78], ebp
jne 0x598fad
lea ecx, [esp + 0x64]
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
mov eax, 5
jmp 0x599248
cmp dword [esp + 0x78], ebp
je 0x5990f9
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x5990f9
cmp byte [esp + 0x16], 0
jne 0x5990f9
xor edx, edx
cmp byte [esp + 0x15], dl
setne dl
mov dword [eax], edx
jmp 0x5990f9
cmp byte [esp + 0x16], 0
jne 0x5990f9
jmp 0x5990cd
lea edx, [esp + 0x16]
push edx
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.005ad7b0
test al, al
je 0x5990f9
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
je 0x5990f9
cmp esi, ebp
je 0x5990e4
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
push esi
call eax
test eax, eax
je 0x59905c
lea ecx, [esp + 0x64]
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
mov eax, 4
jmp 0x599248
lea ecx, [esp + 0x16]
push ecx
lea edx, [esp + 0x19]
push edx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [edi + 0x20]
call fcn.005aeec0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xb4], 6
call fcn.00403fb2
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 4
call fcn.00402ed7
lea edx, [esp + 0x64]
push str.pend
push edx
call fcn.00404cd7
add esp, 8
test al, al
je 0x5990c7
push 0x7b32cb
lea ecx, [esp + 0x68]
call fcn.00401b1d
jmp 0x5990f9
cmp dword [esp + 0x78], ebp
je 0x5990f9
cmp dword [esp + 0x18], ebp
je 0x5990f9
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp byte [esp + 0x15], al
setne al
mov dword [ecx], eax
jmp 0x5990f9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x20]
cmp eax, 0x1388
jb 0x598f84
mov byte [esp + 0x17], 0
cmp dword [esp + 0x78], ebp
jne 0x5991a4
shr ebx, 4
and bl, 1
movzx edx, bl
push edx
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x1f]
push ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x20]
push esi
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x2d], 0
call fcn.005b27a0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xb4], 7
call fcn.00403fb2
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 4
call fcn.00402ed7
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x599174
xor edx, edx
cmp byte [esp + 0x15], dl
setne dl
mov dword [eax], edx
cmp dword [esp + 0x78], ebp
jne 0x5991a4
cmp byte [esp + 0x17], 0
lea ecx, [esp + 0x64]
jne 0x599041
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
mov eax, 2
jmp 0x599248
lea eax, [esp + 0x64]
push str.pend
push eax
call fcn.00404cd7
add esp, 8
test al, al
je 0x5991d6
lea ecx, [esp + 0x64]
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
mov eax, 6
jmp 0x599248
mov ecx, dword [esp + 0x78]
inc ecx
cmp dword [esp + 0xb8], ecx
jae 0x599200
lea ecx, [esp + 0x64]
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
mov eax, 3
jmp 0x599248
cmp dword [esp + 0x7c], 0x10
mov edx, dword [esp + 0x68]
jae 0x59920f
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x28]
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x599213
lea ecx, [esp + 0x64]
call fcn.00402ed7
lea ecx, [esp + 0x80]
call fcn.00402ed7
xor eax, eax
jmp 0x599248
cmp esi, ebx
jb 0x599243
push edi
call fcn.00564155
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00564b24
add esp, 0x98
ret 0x18