Function at 0x41b4d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bfbc9
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x515e20]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], ebx
mov ecx, dword [0x517280]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov dword [ebp - 0x38], 0x12
idiv dword [ebp - 0x38]
mov edi, dword [ebp + 0x10]
lea esi, [ebx + 1]
mov dword [ebp - 0x34], edi
mov eax, esi
cmp edx, 2
jne 0x41b543
test ecx, ecx
cmove ecx, eax
mov dword [0x517280], ecx
call fcn.0041a390
xor ecx, ecx
push ecx
push ecx
test al, al
push ecx
cmovne esi, ecx
push esi
push 0x4d1b0c
call fcn.0041f430
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x41b587
test edi, edi
je 0x41b576
push str.InternetOpenFailed
mov ecx, edi
call fcn.00402750
mov esi, dword [ebp - 0x54]
push esi
call fcn.00418d20
add esp, 4
jmp 0x41bc70
push 0
lea ecx, [ebp - 0x74]
call fcn.00434340
push 0x4d4278
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 1
call fcn.00434300
lea eax, [ebp - 0x50]
push eax
push str.method
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 2
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004345e0
push dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push eax
call fcn.00445e60
add esp, 8
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.00434260
lea eax, [ebp - 0x50]
push eax
push 0x4d4220
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.004345e0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 1
jb 0x41b626
push dword [ebp - 0x28]
call fcn.0049da8e
add esp, 4
push 0x4d4290
lea ecx, [ebp - 0x50]
call fcn.00434300
lea eax, [ebp - 0x50]
push eax
push str.acceptedStatusCodes
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.00434870
mov ecx, eax
call fcn.00434ef0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004345e0
push 0x4d42a0
lea ecx, [ebp - 0x50]
call fcn.00434300
lea eax, [ebp - 0x50]
push eax
push str.acceptTypes
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 6
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004345e0
call fcn.0041f2b0
test al, al
jne 0x41b6aa
push 0x76
push 0x75
push str._d__d_n
call fcn.0049f507
add esp, 0xc
push str.Accept_Encoding:_gzip__deflate_r_n
lea ecx, [ebp - 0x50]
call fcn.00434300
lea eax, [ebp - 0x50]
push eax
push str.additionalRequestHeaders
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 7
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004345e0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push esi
push eax
mov dword [ebp - 0x2c], 0
call fcn.0041bc90
add esp, 0x18
mov ecx, dword [0x517280]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x15
idiv ecx
mov byte [ebp - 4], 8
cmp edx, 9
jne 0x41b724
dec dword [0x517c08]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, dword [0x517280]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0x15
jne 0x41b7d3
xor edx, edx
lea esp, [esp]
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x41b750
mov dword [0x517280], esi
lea eax, [ebp - 0x3c]
push eax
call fcn.00418d20
add esp, 4
push str.result
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00434870
mov ecx, eax
call fcn.00435900
or esi, 0xffffffff
test al, al
je 0x41b88a
push str.result
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.00434f20
test al, al
je 0x41b88a
push str.content
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41b88a
push str.content
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x2c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.00402610
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b88a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x41b8f8
lea eax, [ebp - 0x2c]
push eax
call fcn.00418d20
mov ecx, dword [eax]
xor eax, eax
add esp, 4
test ecx, ecx
setne al
mov ebx, 2
mov dword [ebp - 0x40], ebx
test eax, eax
jne 0x41b8b9
push 0x80004005
call fcn.00403080
mov eax, dword [ebp - 0x3c]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41b8e6
test dx, dx
je 0x41b8e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41b8e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41b8c0
xor eax, eax
jmp 0x41b8eb
sbb eax, eax
or eax, 1
test eax, eax
sete al
mov byte [ebp - 0x2d], 1
test al, al
jne 0x41b8fc
mov byte [ebp - 0x2d], 0
test bl, 2
je 0x41b923
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
and ebx, 0xfffffffd
mov dword [ebp - 0x40], ebx
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b923
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x2d], 0
je 0x41bbc5
push str.errorDesc
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41bbb9
call fcn.0041ef90
test al, al
jne 0x41b9e6
mov edx, dword [0x517280]
xor edi, edi
mov edi, edi
mov ecx, edi
and ecx, 1
dec ecx
not ecx
and ecx, edx
mov eax, edi
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
inc edi
add edx, eax
cmp edi, 0x100
jl 0x41b960
mov edi, dword [ebp - 0x34]
mov dword [0x517280], edx
push str.errorDesc
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x2c], eax
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [eax], 0
jne 0x41ba1c
xor ecx, ecx
jmp 0x41ba31
mov ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x34], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ba24
sub ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
push ecx
push eax
mov ecx, edx
call fcn.00401460
lea eax, [ebp - 0x38]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00402610
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ba72
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.errorCode
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41bb33
push 1
push 0x4d3a44
mov ecx, edi
call fcn.00402ea0
push str.errorCode
lea ecx, [ebp - 0x64]
call fcn.00434870
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x2c], eax
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [eax], 0
jne 0x41bad2
xor ecx, ecx
jmp 0x41baed
mov ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x34], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bae0
sub ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
push ecx
push eax
mov ecx, edx
call fcn.00401460
lea eax, [ebp - 0x38]
push eax
call fcn.00445d90
add esp, 0x1c
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
mov byte [ebp - 4], 0xc
push eax
call fcn.00402ea0
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bb33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x4d432c
lea ecx, [ebp - 0x38]
call fcn.00401c40
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xd
call fcn.00447d60
add esp, 8
push 0x4d1b0c
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00406df0
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bb86
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bba6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0041f310
test al, al
jne 0x41bbc5
push 0
call dword [sym.imp.KERNEL32.dll_GetFileType]
jmp 0x41bbc5
push str.noError
mov ecx, edi
call fcn.00402750
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x41bbef
cmp ecx, dword [esi - 0x10]
jne 0x41bbef
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [eax], ecx
inc ecx
jmp 0x41bc29
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
jne 0x41bc03
call fcn.004092c0
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov ecx, dword [esi - 0xc]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ecx*2 + 2]
push esi
push eax
lea eax, [edi + 0x10]
push eax
call fcn.0049ee68
add esp, 0x10
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x54]
lea eax, [edi + 0x10]
add edx, 0xfffffff0
or ebx, 1
mov dword [esi], eax
mov dword [ebp - 0x40], ebx
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bc58
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.004345e0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.004345e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049e294
mov esp, ebp
pop ebp
ret