Function at 0x140054d90
Capabilities:
Encode data using xor
Initialize winhttp library

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3b0
mov rax, qword [0x14013e0a0]
xor rax, rsp
mov qword [rsp + 0x3a0], rax
mov rdi, r8
mov r15, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0x360], xmm0
movdqa xmm1, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x370], xmm1
mov byte [rsp + 0x360], r12b
lea rcx, [rsp + 0x360]
call fcn.140053f60
test al, al
je 0x1400555e1
mov dword [rsp + 0x40], 0xeaedeeed
mov dword [rsp + 0x44], 0xfce6e2e3
mov dword [rsp + 0x48], 0xf8f0ff
mov byte [rsp + 0x4c], 1
mov ecx, r12d
nop
lea eax, [rcx - 0x74]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xb
jb 0x140054e20
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0xe0], 0
xor eax, eax
mov qword [rsp + 0xe8], rax
xor edx, edx
lea rcx, [rsp + 0xe8]
call fcn.1400597c0
mov byte [rsp + 0xe0], 3
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
mov ecx, 0x20
call fcn.1400a09c8
mov rbx, rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x2d8], rbx
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
lea rax, [rsp + 0x40]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140054eb0
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400035b0
nop
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], r12
mov byte [rsp + 0xf8], 0
xor eax, eax
mov qword [rsp + 0x100], rax
mov rdx, r15
lea rcx, [rsp + 0xf8]
call fcn.140066e70
mov qword [rsp + 0x108], r12
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x2d0], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x2d8], rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x70]
call fcn.140057a60
mov qword [rsp + 0x80], r12
mov dword [rsp + 0x30], 0xebe7fae4
mov word [rsp + 0x34], 0x100
mov rcx, r12
nop
lea eax, [rcx - 0x74]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 4
jb 0x140054f50
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x310], 0
xor eax, eax
mov qword [rsp + 0x318], rax
xor edx, edx
lea rcx, [rsp + 0x318]
call fcn.1400597c0
mov byte [rsp + 0x310], 3
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
mov ecx, 0x20
call fcn.1400a09c8
mov rbx, rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x2d8], rbx
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140054fd4
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400035b0
nop
mov qword [rsp + 0x318], rbx
mov qword [rsp + 0x320], r12
mov byte [rsp + 0x328], 0
xor eax, eax
mov qword [rsp + 0x330], rax
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x328]
call fcn.140066e70
mov qword [rsp + 0x338], r12
lea rax, [rsp + 0x310]
mov qword [rsp + 0x2d0], rax
lea rax, [rsp + 0x340]
mov qword [rsp + 0x2d8], rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x88]
call fcn.140057a60
mov qword [rsp + 0x98], r12
lea rax, [rsp + 0x70]
mov qword [rsp + 0x2d0], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x2d8], rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x300]
call fcn.140057a60
nop
lea r9, [0x140052380]
mov edx, 0x18
lea r8d, [rdx - 0x16]
lea rcx, [rsp + 0x70]
call fcn.1400a0a04
nop
lea r9, [0x140052380]
mov edx, 0x18
lea r8d, [rdx - 0x16]
lea rcx, [rsp + 0x310]
call fcn.1400a0a04
nop
lea r9, [0x140052380]
mov edx, 0x18
lea r8d, [rdx - 0x16]
lea rcx, [rsp + 0xe0]
call fcn.1400a0a04
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x300]
call fcn.1400577a0
mov rbx, rax
mov r8d, 1
lea rdx, [0x1401c3578]
lea rcx, [rsp + 0x2d0]
call fcn.140053bc0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x2f0]
call fcn.140050e30
nop
mov rcx, qword [rsp + 0x2d0]
test rcx, rcx
je 0x14005518e
mov rdx, qword [rsp + 0x2e0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055175
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c3d
call fcn.1400a09c0
mov qword [rsp + 0x2d0], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x2d8], xmm0
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x1400551d1
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400551cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c43
call fcn.1400a09c0
cmp qword [r14], 0
jne 0x140055bc5
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [r14], rax
test rax, rax
je 0x140055bc5
xorps xmm0, xmm0
movups xmmword [rsp + 0x340], xmm0
movdqa xmm1, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x350], xmm1
mov byte [rsp + 0x340], 0
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x2f0]
call fcn.1400577a0
nop
lea rax, [rsp + 0x310]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x70], 0x3ee23ecf
mov dword [rsp + 0x74], 0x3efb3ee0
mov dword [rsp + 0x78], 0x3eff3ef5
mov dword [rsp + 0x7c], 0x3ebe3ee6
mov dword [rsp + 0x80], 0x3eec3ec0
mov dword [rsp + 0x84], 0x3ef23ee6
mov dword [rsp + 0x88], 0x3eb93ea2
mov dword [rsp + 0x8c], 0x3eeb3efb
mov dword [rsp + 0x90], 0x3ef13eec
mov dword [rsp + 0x94], 0x3efc3ef7
mov dword [rsp + 0x98], 0x3ed53ec1
mov dword [rsp + 0x9c], 0x3ecc3ecb
mov dword [rsp + 0xa0], 0x3e8a3eca
mov dword [rsp + 0xa4], 0x3ed43ecc
mov dword [rsp + 0xa8], 0x3ec73ec7
mov word [rsp + 0xac], r12w
mov byte [rsp + 0xae], 1
mov rcx, r12
mov r15d, 0x3e8c
nop dword [rax + rax]
lea eax, [r15 + rcx]
xor word [rsp + rcx*2 + 0x70], ax
inc rcx
cmp rcx, 0x1e
jb 0x140055300
mov byte [rsp + 0xae], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rsp + 0x70]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140055330
mov r8, rsi
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14005bac0
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x2d0], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x2d8], rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x310]
call fcn.140056690
mov rbx, rax
mov dword [rsp + 0xe0], 0x3ef93ee4
mov dword [rsp + 0xe4], 0x3eff3efa
mov dword [rsp + 0xe8], 0x3ebe3eaa
mov dword [rsp + 0xec], 0x3ea23ebd
mov dword [rsp + 0xf0], 0x3eac3ea0
mov dword [rsp + 0xf4], 0x3ea23eb8
mov dword [rsp + 0xf8], 0x3eb73eae
mov dword [rsp + 0xfc], 0x3ea93eab
mov dword [rsp + 0x100], 0x3eb33ea5
mov dword [rsp + 0x104], 0x3eaa3eac
mov dword [rsp + 0x108], 0x3e9b3e95
mov dword [rsp + 0x10c], 0x3e943e97
mov dword [rsp + 0x110], 0x3e9c3e91
mov dword [rsp + 0x114], 0x3ec63e89
mov dword [rsp + 0x118], 0x3ec03ed8
mov dword [rsp + 0x11c], 0x3ec73e85
mov dword [rsp + 0x120], 0x3eca3ec3
mov dword [rsp + 0x124], 0x3ec13ec7
mov word [rsp + 0x128], r12w
mov byte [rsp + 0x12a], 1
mov rcx, r12
nop dword [rax]
lea eax, [r15 + rcx]
xor word [rsp + rcx*2 + 0xe0], ax
inc rcx
cmp rcx, 0x24
jb 0x140055460
mov byte [rsp + 0x12a], 0
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xb0]
call fcn.14005b430
mov dword [rsp + 0x30], 0x18
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x380]
lea r8, [rsp + 0x340]
lea rdx, [rsp + 0xb0]
mov rcx, r14
call fcn.14004fd60
movzx ebx, al
lea r9, [fcn.1400065c0]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x40]
call fcn.1400a0a04
mov rcx, qword [r14]
test bl, bl
jne 0x14005564c
test rcx, rcx
je 0x1400554fd
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [r14], r12
mov rdx, qword [rsp + 0x398]
cmp rdx, 0x10
jb 0x140055540
inc rdx
mov rcx, qword [rsp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005553b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c49
call fcn.1400a09c0
movdqa xmm0, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x390], xmm0
mov byte [rsp + 0x380], 0
mov rdx, qword [rsp + 0x358]
cmp rdx, 0x10
jb 0x14005559c
inc rdx
mov rcx, qword [rsp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055597
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c4f
call fcn.1400a09c0
movdqa xmm0, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x350], xmm0
mov byte [rsp + 0x340], 0
movzx edx, byte [rsp + 0x2f0]
lea rcx, [rsp + 0x2f8]
call fcn.1400597c0
nop
movzx edx, byte [rsp + 0x300]
lea rcx, [rsp + 0x308]
call fcn.1400597c0
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 0x10
jb 0x140055624
inc rdx
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005561f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c37
call fcn.1400a09c0
mov eax, 8
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
call fcn.1400a09a0
add rsp, 0x3b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test rcx, rcx
je 0x14005565a
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [r14], r12
mov byte [rsp + 0x310], 0
xor edx, edx
lea rcx, [rsp + 0x318]
call fcn.140059cb0
nop
mov qword [rsp + 0xa8], r12
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x340]
lea rcx, [rsp + 0x2d0]
call fcn.14005b190
movzx edx, byte [rsp + 0x310]
movzx ecx, byte [rax]
mov byte [rsp + 0x310], cl
mov byte [rax], dl
lea rcx, [rax + 8]
mov rax, qword [rsp + 0x318]
mov r8, qword [rcx]
mov qword [rsp + 0x318], r8
mov qword [rcx], rax
call fcn.1400597c0
nop
mov r8d, 1
lea rdx, [0x1401c3578]
lea rcx, [rsp + 0x2d0]
call fcn.140053bc0
nop
lea r8, [rsp + 0x310]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.140052470
mov rbx, rax
cmp rdi, rax
je 0x140055769
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14005573d
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140055738
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140055c55
mov rcx, r8
call fcn.1400a09c0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], send
mov byte [rdi], 0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x1400557ac
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400557a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c55
call fcn.1400a09c0
movdqa xmm0, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0xc0], xmm0
mov byte [rsp + 0xb0], 0
mov rcx, qword [rsp + 0x2d0]
test rcx, rcx
je 0x140055807
mov rdx, qword [rsp + 0x2e0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055802
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055c5b
call fcn.1400a09c0
lea rax, [rsp + 0x130]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x190], r12
lea rax, [rsp + 0x158]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x2d0], 0
xor edx, edx
lea rcx, [rsp + 0x2d8]
call fcn.140059cb0
nop
mov dword [rsp + 0x30], 0x58
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa8], r12
mov rcx, qword [rsp + 0x190]
test rcx, rcx
je 0x14005587d
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax]
mov qword [rsp + 0xa8], rax
cmp qword [rdi + 0x18], 0x10
jb 0x140055890
mov rdx, qword [rdi]
add rdx, qword [rdi + 0x10]
mov rdi, qword [rdi]
jmp 0x140055897
mov rdx, qword [rdi + 0x10]
add rdx, rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1d0]
call fcn.140060640
nop
lea r8, [rsp + 0x2d0]
mov rcx, rax
call fcn.14005d040
nop
lea rcx, [rsp + 0x218]
call fcn.14005ce50
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x14005590b
mov rax, qword [rcx]
lea rdx, [rsp + 0x1d0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0x208], r12
mov rcx, qword [rsp + 0x190]
test rcx, rcx
je 0x140055934
mov rax, qword [rcx]
lea rdx, [rsp + 0x158]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0x190], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r12
mov r8d, 6
lea rdx, str.result
lea rcx, [rsp + 0xb0]
call fcn.1400035b0
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x2d0]
call fcn.14005d720
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], send
mov byte [rsp + 0x130], 0
mov dword [rsp + 0x30], 0x158
cmp byte [rax], 3
jne 0x140055c61
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x130]
cmp rax, rdx
je 0x1400559e4
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400559d6
mov rdx, qword [rdx]
lea rcx, [rsp + 0x130]
call fcn.1400078e0
nop
mov dword [rsp + 0x30], 0xd8
lea rcx, [rsp + 0x130]
call fcn.140054650
mov ebx, eax
movzx edx, byte [rsp + 0x2d0]
lea rcx, [rsp + 0x2d8]
call fcn.1400597c0
nop
movzx edx, byte [rsp + 0x310]
lea rcx, [rsp + 0x318]
call fcn.1400597c0
nop
mov rdx, qword [rsp + 0x398]
cmp rdx, 0x10
jb 0x140055a6a
inc rdx
mov rcx, qword [rsp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055cab
call fcn.1400a09c0
movdqa xmm0, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x390], xmm0
mov byte [rsp + 0x380], 0
mov rdx, qword [rsp + 0x358]
cmp rdx, 0x10
jb 0x140055ac6
inc rdx
mov rcx, qword [rsp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055ac1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055cb1
call fcn.1400a09c0
movdqa xmm0, xmmword [0x14011e7a0]
movdqu xmmword [rsp + 0x350], xmm0
mov byte [rsp + 0x340], 0
movzx edx, byte [rsp + 0x2f0]
lea rcx, [rsp + 0x2f8]
call fcn.1400597c0
nop
movzx edx, byte [rsp + 0x300]
lea rcx, [rsp + 0x308]
call fcn.1400597c0
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 0x10
jb 0x140055b4e
inc rdx
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055b49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055cb7
call fcn.1400a09c0
mov eax, ebx
jmp 0x140055629
movzx edx, byte [rsp + 0x2f0]
lea rcx, [rsp + 0x2f8]
call fcn.1400597c0
nop
movzx edx, byte [rsp + 0x300]
lea rcx, [rsp + 0x308]
call fcn.1400597c0
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 0x10
jb 0x140055624
inc rdx
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005561f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005561f
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
mov rcx, rax
call fcn.14005a680
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0xb0]
call fcn.140067d10
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x198]
call fcn.14005b6b0
lea rdx, [0x14013b2e0]
lea rcx, [rsp + 0x198]
call fcn.1400c1890
nop
call fcn.1400d2350
nop
call fcn.1400d2350
nop
call fcn.1400d2350
int3