Function at 0x417e80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b82e9
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x504e20]
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 edi, dword [ebp + 0x10]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], ebx
lea esi, [ebx + 1]
call fcn.00416fb0
xor ecx, ecx
push ecx
push ecx
test al, al
push ecx
cmovne esi, ecx
push esi
push 0x4c0b9c
call fcn.0041b620
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x417f09
test edi, edi
je 0x417ef8
push str.InternetOpenFailed
mov ecx, edi
call fcn.00402600
mov edi, dword [ebp - 0x50]
push edi
call fcn.00415d40
add esp, 4
jmp 0x4183ff
push 0
lea ecx, [ebp - 0x70]
call fcn.0042e130
push 0x4c2fd0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 1
call fcn.0042e0f0
lea eax, [ebp - 0x4c]
push eax
push str.method
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.0042e660
mov ecx, eax
call fcn.0042e470
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0042e3d0
push dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push eax
call fcn.0043f200
add esp, 8
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0042e050
lea eax, [ebp - 0x4c]
push eax
push 0x4c2f78
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.0042e660
mov ecx, eax
call fcn.0042e470
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0042e3d0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 1
jb 0x417fa8
push dword [ebp - 0x28]
call fcn.0049655e
add esp, 4
push 0x4c2fe8
lea ecx, [ebp - 0x4c]
call fcn.0042e0f0
lea eax, [ebp - 0x4c]
push eax
push str.acceptedStatusCodes
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.0042e660
mov ecx, eax
call fcn.0042ed70
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0042e3d0
call fcn.0041b510
test al, al
jne 0x417ff0
call fcn.00497804
mov dword [0x506280], eax
push 0x4c2ff8
lea ecx, [ebp - 0x4c]
call fcn.0042e0f0
lea eax, [ebp - 0x4c]
push eax
push str.acceptTypes
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.0042e660
mov ecx, eax
call fcn.0042e470
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0042e3d0
push str.Accept_Encoding:_gzip__deflate_r_n
lea ecx, [ebp - 0x4c]
call fcn.0042e0f0
lea eax, [ebp - 0x4c]
push eax
push str.additionalRequestHeaders
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.0042e660
mov ecx, eax
call fcn.0042e470
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0042e3d0
push 0
push 0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x2c], 0
call fcn.00418430
add esp, 0x18
push esi
mov byte [ebp - 4], 8
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea eax, [ebp - 0x38]
push eax
call fcn.00415d40
add esp, 4
push str.result
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 9
call fcn.0042e660
mov ecx, eax
call fcn.0042f780
or esi, 0xffffffff
test al, al
je 0x41813c
push str.result
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042eda0
test al, al
je 0x41813c
push str.content
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042f830
test al, al
je 0x41813c
push str.content
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042ee10
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x2c]
push eax
call fcn.0043f130
add esp, 0x1c
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xa
call fcn.00402500
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 0x41813c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x418166
lea eax, [ebp - 0x2c]
push eax
call fcn.00415d40
push eax
lea eax, [ebp - 0x38]
mov ebx, 2
push eax
mov dword [ebp - 0x3c], ebx
call fcn.00402750
add esp, 0xc
mov byte [ebp - 0x2d], 1
test al, al
jne 0x41816a
mov byte [ebp - 0x2d], 0
test bl, 2
je 0x418191
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
and ebx, 0xfffffffd
mov dword [ebp - 0x3c], ebx
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418191
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x2d], 0
je 0x4183ac
push str.errorDesc
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042f830
test al, al
je 0x41841d
push str.errorDesc
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042ee10
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x2c]
push eax
call fcn.0043f130
add esp, 0x1c
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00402500
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 0x41820e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.errorCode
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042f830
test al, al
je 0x41828e
push 0x4c2794
mov ecx, edi
call fcn.00402bb0
push str.errorCode
lea ecx, [ebp - 0x60]
call fcn.0042e660
mov ecx, eax
call fcn.0042ee10
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x2c]
push eax
call fcn.0043f130
add esp, 0x1c
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
mov byte [ebp - 4], 0xc
push eax
call fcn.00402c30
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 0x41828e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x4c3084
lea ecx, [ebp - 0x2c]
call fcn.00401b70
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xd
call fcn.00440ae0
add esp, 8
push 0x4c0b9c
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00406be0
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 0x4182e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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 0x418301
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x506280]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 0xa
jne 0x4183a9
xor edx, edx
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 0x418326
mov dword [0x506280], esi
or esi, 0xffffffff
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
push eax
call fcn.00404d50
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x50]
add eax, 0x10
add edx, 0xfffffff0
or ebx, 1
mov dword [edi], eax
add esp, 4
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x4183e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.0042e3d0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0
call fcn.0042e3d0
mov eax, edi
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.00496d64
mov esp, ebp
pop ebp
ret
push str.noError
mov ecx, edi
call fcn.00402600
jmp 0x4183ac