Function at 0x100697b0
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10105ae0
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x10167080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x22c], edx
mov esi, ecx
mov dword [ebp - 0x220], esi
cmp dword [esi + 0x14], 0xf
mov eax, dword [ebp + 8]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x238], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x234], edx
jbe 0x10069813
mov edi, dword [esi]
add eax, edi
jmp 0x10069817
mov edi, esi
add eax, esi
mov dword [ebp - 0x228], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
cmp edi, eax
jne 0x10069841
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
jmp 0x100698f9
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0x21c], ecx
mov edx, 7
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
cmp eax, 0x7ffffffe
ja 0x10069d88
cmp eax, edx
jbe 0x100698a4
or eax, edx
cmp eax, 0x7ffffffe
jbe 0x10069875
mov eax, accept
jmp 0x1006987f
mov ecx, 0xa
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.1000c4c0
mov edx, dword [ebp - 0x224]
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], edx
mov esi, dword [ebp - 0x228]
nop word [eax + eax]
movsx ax, byte [edi]
lea ecx, [ebp - 0x44]
cmp edx, 7
mov edx, dword [ebp - 0x21c]
cmova ecx, dword [ebp - 0x44]
inc edi
movzx eax, ax
mov word [ecx + edx*2], ax
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x34], ecx
cmp edi, esi
je 0x100698e2
mov edx, dword [ebp - 0x30]
jmp 0x100698b0
cmp dword [ebp - 0x30], 7
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x220]
cmova eax, dword [ebp - 0x44]
xor edx, edx
mov word [eax + ecx*2], dx
xor al, al
mov dword [ebp - 4], 0
mov byte [ebp - 0x215], al
mov byte [ebp - 0x217], al
lea eax, [ebp - 0x44]
push ecx
push eax
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 1
call fcn.100d2220
mov byte [ebp - 4], 2
mov ecx, 5
cmp dword [esi + 0x10], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
cmovb ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 0xf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
jbe 0x1006994f
mov esi, dword [esi]
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.100035b0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
lea edi, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
cmova edi, dword [ebp - 0x2c]
add eax, ecx
cmp dword [ebp - 0x18], 0xf
mov dword [ebp - 0x220], eax
cmova esi, dword [ebp - 0x2c]
cmp esi, eax
je 0x100699a4
movsx eax, byte [esi]
push eax
call fcn.100e7be0
mov byte [edi], al
add esp, 4
mov ecx, dword [ebp - 0x1c]
inc esi
mov eax, dword [ebp - 0x220]
inc edi
jmp 0x10069985
cmp dword [ebp - 0x18], 0xf
lea edx, [ebp - 0x2c]
cmova edx, dword [ebp - 0x2c]
cmp ecx, 5
jne 0x10069a20
mov esi, str.HTTPS
sub ecx, 4
jb 0x100699d1
nop
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x100699d6
add edx, 4
add esi, 4
sub ecx, 4
jae 0x100699c0
cmp ecx, 0xfffffffc
je 0x10069a0a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10069a03
cmp ecx, 0xfffffffd
je 0x10069a0a
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10069a03
cmp ecx, 0xfffffffe
je 0x10069a0a
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x10069a03
cmp ecx, 0xffffffff
je 0x10069a0a
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x10069a0a
sbb ecx, ecx
or ecx, 1
jmp 0x10069a0c
xor ecx, ecx
movzx eax, byte [ebp - 0x210]
xor edx, edx
test ecx, ecx
cmove eax, edx
mov byte [ebp - 0x210], al
push 0x54
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push str.User_Agent:_Mozilla_5.0__Windows_NT_6.1__WOW64__rv:19.0__Gecko_20100101_Firefox_19.0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x5c], xmm0
call fcn.1002b9d0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 7
lea ecx, [ebp - 0x100]
push dword [ebp - 0x4c]
cmova eax, dword [ebp - 0x5c]
push eax
call fcn.1002b5e0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x48]
cmp ecx, 7
jbe 0x10069aa0
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10069a96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d92
push ecx
push edx
call fcn.100d91c2
add esp, 8
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push 0x10149754
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x5c], xmm0
call fcn.1002b9d0
push 0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x214]
call fcn.100d25d0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 0x216], al
cmp ecx, 7
jbe 0x10069b23
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10069b13
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d8d
push ecx
push edx
call fcn.100d91c2
mov al, byte [ebp - 0x216]
add esp, 8
test al, al
je 0x10069be1
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x74]
call fcn.1000c530
mov esi, dword [ebp - 0x22c]
lea eax, [ebp - 0x74]
cmp esi, eax
je 0x10069b73
mov ecx, esi
call fcn.1000c5e0
movups xmm0, xmmword [ebp - 0x74]
xor eax, eax
mov word [ebp - 0x74], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x64]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
lea ecx, [ebp - 0x74]
call fcn.1000c5e0
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x8c]
call fcn.1000c530
mov esi, dword [ebp - 0x230]
lea eax, [ebp - 0x8c]
cmp esi, eax
je 0x10069bcf
mov ecx, esi
call fcn.1000c5e0
movups xmm0, xmmword [ebp - 0x8c]
xor eax, eax
mov word [ebp - 0x8c], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x7c]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
lea ecx, [ebp - 0x8c]
call fcn.1000c5e0
mov byte [ebp - 0x215], 1
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10069c15
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10069c0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d92
push ecx
push edx
call fcn.100d91c2
add esp, 8
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
test eax, eax
je 0x10069c3a
push eax
call fcn.100d9223
add esp, 4
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x10069c4d
push eax
call fcn.100d9223
add esp, 4
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x10069c5e
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea ecx, [ebp - 0xb4]
call fcn.1000c5e0
lea ecx, [ebp - 0xcc]
call fcn.1000c5e0
lea ecx, [ebp - 0xe4]
call fcn.1000c5e0
lea ecx, [ebp - 0x100]
call fcn.1000c5e0
lea ecx, [ebp - 0x118]
call fcn.1000c5e0
lea ecx, [ebp - 0x134]
call fcn.1000c5e0
lea ecx, [ebp - 0x14c]
call fcn.1000c5e0
lea ecx, [ebp - 0x16c]
call fcn.1000c5e0
lea ecx, [ebp - 0x184]
call fcn.1000c5e0
lea ecx, [ebp - 0x1ac]
call fcn.1000c5e0
lea ecx, [ebp - 0x1c4]
call fcn.1000c5e0
lea ecx, [ebp - 0x1dc]
call fcn.1000c5e0
lea ecx, [ebp - 0x1f4]
call fcn.1000c5e0
lea ecx, [ebp - 0x20c]
call fcn.1000c5e0
jmp 0x10069d30
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x10069d66
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10069d5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d97
push ecx
push edx
call fcn.100d91c2
add esp, 8
mov al, byte [ebp - 0x215]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d8e9a
mov esp, ebp
pop ebp
ret
call fcn.100034e0
call fcn.100de11f
call fcn.100de11f
call fcn.100de11f
int3