Function at 0x1000edc0
Capabilities:
Encode data using xor
Read http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10031d23
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x1003a008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14c], edx
mov edi, ecx
mov dword [ebp - 0x150], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x148], eax
xor eax, eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], eax
push 0x10037c06
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.1000a580
xor eax, eax
mov dword [ebp - 0x114], 0
xorps xmm0, xmm0
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x40], eax
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
mov dword [ebp - 0xe8], 7
mov word [ebp - 0xfc], ax
mov dword [ebp - 0xd0], 7
mov word [ebp - 0xe4], ax
movups xmmword [ebp - 0xcc], xmm0
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea esi, [edi + 4]
mov byte [ebp - 4], 2
mov dword [esi + 0x10], eax
mov eax, esi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x138], esi
jb 0x1000ef30
mov eax, dword [esi]
mov byte [eax], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2c], 0
cmp dword [edi + 0x30], 0x10
jb 0x1000ef46
mov ecx, dword [edi + 0x1c]
mov byte [ecx], 0
lea eax, [ebp - 0x114]
cmp dword [ebp - 0x100], 8
movups xmmword [ebp - 0x124], xmm0
cmovae eax, dword [ebp - 0x114]
xor ecx, ecx
mov dword [ebp - 0x104], 0
movsd xmm0, qword [0x10037e58]
movsd qword [0x1003a920], xmm0
mov word [eax], cx
lea eax, [ebp - 0xfc]
cmp dword [ebp - 0xe8], 8
mov dword [ebp - 0xec], ecx
cmovae eax, dword [ebp - 0xfc]
movsd xmm0, qword [0x10037e50]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037e60]
mov word [eax], cx
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0xd0], 8
mov dword [ebp - 0xd4], ecx
cmovae eax, dword [ebp - 0xe4]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037e68]
movsd qword [0x1003a918], xmm0
mov word [eax], cx
lea eax, [ebp - 0xb8]
cmp dword [ebp - 0xa4], 8
mov dword [ebp - 0xc0], ecx
cmovae eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x128], 0xd0c6c5
mov word [eax], cx
lea eax, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 8
mov dword [ebp - 0x90], ecx
cmovae eax, dword [ebp - 0xa0]
mov word [eax], cx
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
mov dword [ebp - 0x78], ecx
cmovae eax, dword [ebp - 0x88]
mov word [eax], cx
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x5c], 8
mov dword [ebp - 0x60], ecx
cmovae eax, dword [ebp - 0x70]
mov word [eax], cx
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
mov dword [ebp - 0x48], ecx
cmovae eax, dword [ebp - 0x58]
mov word [eax], cx
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
mov dword [ebp - 0x30], ecx
cmovae eax, dword [ebp - 0x40]
mov word [eax], cx
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x128], al
inc ecx
cmp ecx, 3
jb 0x1000f090
lea edi, [ebp - 0x128]
mov byte [ebp - 0x125], 0
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1000f0b0
mov edx, dword [ebp - 0x14]
sub edi, ecx
mov ecx, dword [ebp - 0x18]
mov eax, edx
sub eax, ecx
push edi
cmp edi, eax
ja 0x1000f0f6
lea eax, [ecx + edi]
cmp edx, 0x10
mov dword [ebp - 0x18], eax
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
lea eax, [ebp - 0x128]
add esi, ecx
push eax
push esi
call fcn.10021000
mov byte [edi + esi], 0
add esp, 0xc
mov esi, dword [ebp - 0x138]
jmp 0x1000f113
lea eax, [ebp - 0x128]
mov byte [ebp - 0x138], 0
push eax
push dword [ebp - 0x138]
lea ecx, [ebp - 0x28]
push edi
call fcn.1000a850
movsd xmm0, qword [0x10037db8]
lea eax, [ebp - 0x28]
push dword [ebp - 0x148]
mov edx, dword [ebp - 0x14c]
lea ecx, [ebp - 0x124]
movsd qword [0x1003a920], xmm0
movsd xmm0, qword [0x10037dd8]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
push eax
movsd qword [0x1003a918], xmm0
call fcn.1000d400
add esp, 8
test eax, eax
je 0x1000f188
lea ecx, [ebp - 0x124]
or esi, 0xffffffff
call fcn.1000d100
jmp 0x1000f77e
movsd xmm0, qword [0x10037db8]
mov eax, dword [ebp - 0x12c]
movsd qword [0x1003a920], xmm0
movsd xmm0, qword [0x10037dd8]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
movsd qword [0x1003a918], xmm0
test eax, eax
je 0x1000f1d6
push dword [eax]
jmp 0x1000f1db
push 0xbb8
push 0
push 0
push 0
push dword [ebp - 0x120]
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
movsd xmm3, qword [0x1003a928]
neg eax
movsd xmm1, qword [0x1003a918]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a910]
movaps xmm2, xmm1
sbb eax, eax
mulsd xmm2, xmm3
neg eax
dec eax
addsd xmm4, qword [0x1003a920]
addsd xmm2, qword [0x1003a910]
movsd qword [0x1003a920], xmm4
movaps xmm0, xmm4
mulsd xmm0, xmm1
movsd qword [0x1003a910], xmm2
mulsd xmm2, xmm4
addsd xmm0, xmm3
addsd xmm2, xmm1
movsd qword [0x1003a928], xmm0
movsd qword [0x1003a918], xmm2
test eax, eax
je 0x1000f272
lea ecx, [ebp - 0x124]
mov esi, 0xfffffffe
call fcn.1000d100
jmp 0x1000f77e
push ecx
lea ecx, [ebp - 0x124]
call fcn.1000df30
movsd xmm3, qword [0x1003a918]
add esp, 4
movsd xmm2, qword [0x10037da8]
movaps xmm1, xmm3
movsd xmm5, qword [0x1003a928]
addsd xmm1, xmm2
movsd xmm6, qword [0x1003a910]
movaps xmm0, xmm5
movsd xmm4, qword [0x1003a920]
divsd xmm0, xmm1
movaps xmm1, xmm3
subsd xmm6, xmm0
movaps xmm0, xmm4
addsd xmm0, xmm2
movsd qword [0x1003a910], xmm6
movaps xmm7, xmm6
addsd xmm7, xmm2
divsd xmm1, xmm0
movaps xmm0, xmm6
addsd xmm0, xmm2
subsd xmm5, xmm1
movaps xmm1, xmm4
divsd xmm1, xmm0
movsd qword [0x1003a928], xmm5
movaps xmm0, xmm6
subsd xmm3, xmm1
movaps xmm1, xmm5
addsd xmm1, xmm2
movsd qword [0x1003a918], xmm3
divsd xmm0, xmm1
movsd qword [ebp - 0x130], xmm0
movaps xmm0, xmm6
divsd xmm0, xmm1
subsd xmm4, xmm0
movsd qword [0x1003a920], xmm4
test eax, eax
je 0x1000f340
lea ecx, [ebp - 0x124]
mov esi, 0xfffffffd
call fcn.1000d100
jmp 0x1000f77e
movaps xmm0, xmm4
mov dword [ebp - 0x140], 0
addsd xmm0, xmm2
divsd xmm4, xmm7
lea edx, [ebp - 0x144]
lea ecx, [ebp - 0x124]
divsd xmm3, xmm0
addsd xmm4, xmm5
addsd xmm3, xmm6
movsd qword [0x1003a920], xmm4
movaps xmm0, xmm3
movsd qword [0x1003a918], xmm3
addsd xmm3, xmm2
addsd xmm0, qword [ebp - 0x130]
divsd xmm5, xmm3
movsd qword [0x1003a910], xmm0
addsd xmm5, xmm4
movsd qword [0x1003a928], xmm5
call fcn.1000e810
movsd xmm0, qword [0x10037db8]
mov eax, dword [ebp - 0x144]
mov edi, dword [ebp - 0x140]
movsd qword [0x1003a920], xmm0
sub edi, eax
movsd xmm0, qword [0x10037dd8]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
mov dword [ebp - 0x134], eax
lea eax, [edi + 1]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
push eax
push 1
movsd qword [0x1003a918], xmm0
call fcn.100215c0
movsd xmm4, qword [0x1003a920]
mov ecx, eax
movsd xmm5, qword [0x10037da8]
movaps xmm0, xmm4
movsd xmm3, qword [0x1003a918]
addsd xmm0, xmm5
movsd xmm2, qword [0x1003a910]
add esp, 8
movsd xmm1, qword [0x1003a928]
mov dword [ebp - 0x128], ecx
divsd xmm3, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
addsd xmm3, xmm2
divsd xmm4, xmm0
movsd qword [0x1003a918], xmm3
movaps xmm0, xmm1
addsd xmm0, xmm5
addsd xmm4, xmm1
divsd xmm2, xmm0
movsd qword [0x1003a920], xmm4
addsd xmm2, xmm3
addsd xmm3, xmm5
movsd qword [0x1003a910], xmm2
divsd xmm1, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
test ecx, ecx
je 0x1000f54b
xor edx, edx
test edi, edi
je 0x1000f4d0
mov eax, dword [ebp - 0x134]
sub eax, ecx
mov dword [ebp - 0x12c], eax
cmp edi, edx
jbe 0x1000f81e
add ecx, edx
inc edx
mov al, byte [ecx + eax]
mov byte [ecx], al
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
cmp edx, edi
jb 0x1000f4b0
mov dword [esi + 0x10], 0
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x1000f4e1
mov eax, dword [esi]
mov edi, ecx
mov byte [eax], 0
lea edx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x1000f4f0
mov eax, dword [esi + 0x14]
sub edi, edx
mov edx, dword [esi + 0x10]
sub eax, edx
cmp edi, eax
ja 0x1000f526
cmp dword [esi + 0x14], 0x10
lea eax, [edx + edi]
mov dword [esi + 0x10], eax
jb 0x1000f513
mov esi, dword [esi]
push edi
add esi, edx
push ecx
push esi
call fcn.10021000
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x1000f53d
push edi
push ecx
mov byte [ebp - 0x12c], 0
mov ecx, esi
push dword [ebp - 0x12c]
push edi
call fcn.1000a850
push dword [ebp - 0x128]
call fcn.10023a85
add esp, 4
movsd xmm0, qword [0x10037db8]
lea eax, [ebp - 0x12c]
mov esi, dword [ebp - 0x150]
push 0
push eax
movsd qword [0x1003a920], xmm0
movsd xmm0, qword [0x10037dd8]
push esi
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
push 0
push 0x20000013
push dword [ebp - 0x118]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
movsd qword [0x1003a918], xmm0
mov dword [ebp - 0x12c], 4
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
movsd xmm1, qword [0x1003a928]
movsd xmm2, qword [0x1003a918]
movaps xmm6, xmm1
mulsd xmm6, qword [0x1003a910]
movaps xmm5, xmm2
mulsd xmm5, xmm1
addsd xmm6, qword [0x1003a920]
addsd xmm5, qword [0x1003a910]
movsd qword [0x1003a920], xmm6
movaps xmm3, xmm6
mulsd xmm3, xmm2
movsd qword [0x1003a910], xmm5
movaps xmm4, xmm5
mulsd xmm4, xmm6
addsd xmm3, xmm1
addsd xmm4, xmm2
movsd qword [0x1003a928], xmm3
movsd qword [0x1003a918], xmm4
test eax, eax
jne 0x1000f63b
lea ecx, [ebp - 0x124]
mov dword [esi], eax
call fcn.1000d100
mov esi, 0xfffffffc
jmp 0x1000f77e
movsd xmm2, qword [0x10037da8]
lea edx, [esi + 0x1c]
movaps xmm0, xmm4
lea ecx, [ebp - 0x124]
addsd xmm0, xmm2
movaps xmm1, xmm3
divsd xmm1, xmm0
movaps xmm0, xmm6
addsd xmm0, xmm2
subsd xmm5, xmm1
movaps xmm1, xmm4
divsd xmm1, xmm0
movaps xmm0, xmm5
subsd xmm3, xmm1
movaps xmm1, xmm6
addsd xmm0, xmm2
divsd xmm1, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm2
movaps xmm2, xmm3
subsd xmm4, xmm1
mulsd xmm2, xmm5
movaps xmm1, xmm5
divsd xmm1, xmm0
subsd xmm6, xmm1
movaps xmm1, xmm4
mulsd xmm1, xmm3
addsd xmm2, xmm6
addsd xmm1, xmm5
movaps xmm0, xmm2
movsd qword [0x1003a920], xmm2
movsd qword [0x1003a910], xmm1
mulsd xmm0, xmm4
mulsd xmm1, xmm2
addsd xmm0, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm0
movsd qword [0x1003a918], xmm1
call fcn.1000eb90
test eax, eax
je 0x1000f6fb
lea ecx, [ebp - 0x124]
call fcn.1000d100
mov esi, 0xfffffffb
jmp 0x1000f77e
movsd xmm4, qword [0x1003a920]
xor esi, esi
movsd xmm5, qword [0x10037da8]
movaps xmm0, xmm4
movsd xmm3, qword [0x1003a918]
addsd xmm0, xmm5
movsd xmm2, qword [0x1003a910]
movsd xmm1, qword [0x1003a928]
divsd xmm3, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
addsd xmm3, xmm2
divsd xmm4, xmm0
movaps xmm0, xmm1
movsd qword [0x1003a918], xmm3
addsd xmm0, xmm5
addsd xmm4, xmm1
divsd xmm2, xmm0
movsd qword [0x1003a920], xmm4
addsd xmm2, xmm3
addsd xmm3, xmm5
movsd qword [0x1003a910], xmm2
divsd xmm1, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
lea ecx, [ebp - 0x124]
call fcn.1000f830
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x1000f7b9
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000f7af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f823
push edx
push ecx
call fcn.1001e35c
add esp, 8
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
test ecx, ecx
je 0x1000f801
mov edx, dword [ebp - 0x13c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1000f7f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f823
push edx
push ecx
call fcn.1001e35c
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
call fcn.1000fba0
call fcn.10023c5c
int3