Function at 0x40cef0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x556655
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x5b627c]
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 dword [ebp - 4], 0
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6ac
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x88], eax
push 0x569bb8
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call fcn.0040c160
test al, al
jne 0x40cf6c
push 0
push 0x569bb8
lea ecx, [ebp - 0x88]
call fcn.0041a8f0
mov byte [ebp - 4], 2
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6b6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x84], eax
push 0x569bb8
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.0040c160
test al, al
jne 0x40cfb7
push 0
push 0x569bb8
lea ecx, [ebp - 0x84]
call fcn.0041a8f0
mov byte [ebp - 4], 4
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6c0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x8c], eax
push str.7z_download_start
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 5
call fcn.0040c160
test al, al
jne 0x40d002
push 0x11
push str.7z_download_start
lea ecx, [ebp - 0x8c]
call fcn.0041a8f0
mov byte [ebp - 4], 6
call fcn.00453ec0
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x84]
mov edx, dword [eax]
push ecx
push 1
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, eax
call dword [edx]
mov edx, dword [ebp - 0x8c]
or ebx, 0xffffffff
mov byte [ebp - 4], 4
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d04c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x84]
mov eax, ebx
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d06d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d08e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [str.7z.dll]
mov ebx, 0xf
xor eax, 0xce60
mov word [ebp - 0x20], ax
mov eax, 0xce6c
xor ax, word [0x56aed2]
mov word [ebp - 0x1e], ax
mov eax, dword [0x56aed4]
xor eax, 0xce65
mov word [ebp - 0x1c], ax
mov eax, 0xce60
xor ax, word [0x56aed6]
mov word [ebp - 0x1a], ax
mov eax, dword [0x56aed8]
xor eax, 0xce66
mov word [ebp - 0x18], ax
mov eax, 0xce6f
xor ax, word [0x56aeda]
mov word [ebp - 0x16], ax
mov eax, dword [0x56aedc]
xor eax, 0xce6e
mov word [ebp - 0x14], ax
mov eax, 0xce78
xor ax, word [0x56aede]
xor edi, edi
mov word [ebp - 0x12], ax
mov ax, word [ebp - 0x20]
mov ax, word [ebp + edi*2 - 0x20]
mov ecx, edi
and ecx, ebx
movzx esi, ax
cmp ecx, ebx
mov eax, 0x811bce69
mov edx, 0xb3d85fcd
cmovae ecx, ebx
shl ecx, 2
call fcn.00466140
and ax, 0xf
lea ecx, [edi - 0x3197]
xor ax, cx
xor ax, si
mov word [ebp + edi*2 - 0x20], ax
inc edi
cmp edi, 8
jb 0x40d111
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp + 8]
add eax, 0x3c
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00407e40
add esp, 0xc
mov byte [ebp - 4], 7
call fcn.00414250
mov ecx, eax
mov ebx, 0xffffffff
test ecx, ecx
je 0x40d6ca
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, eax
mov dword [ebp - 0x88], esi
lea ecx, [esi + 0x10]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xac]
push 1
add ecx, 0x94
mov byte [ebp - 4], 8
push ecx
push eax
call fcn.00458860
push 0
push 0x493e0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 9
push ecx
push eax
call fcn.004ff440
mov edx, dword [ebp - 0xac]
mov edi, eax
add esp, 0x1c
mov dword [ebp - 0x84], edi
mov byte [ebp - 4], 8
add edx, 0xfffffff0
mov ecx, ebx
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40d1f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00474150
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
test edi, edi
je 0x40d416
sub eax, 1
jne 0x40d2c6
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], al
call fcn.0041c540
push 3
push 0x56bba4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.0041c540
mov byte [ebp - 4], 0xb
call fcn.00474150
mov edi, eax
lea ecx, [ebp - 0x148]
push 0x2ec
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004066e0
mov esi, eax
push 0x56c278
push esi
mov byte [ebp - 4], 0xc
call fcn.00407a90
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x148]
call fcn.00407f30
lea ecx, [ebp - 0x38]
call fcn.004070a0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call fcn.004070a0
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x84]
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6d4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x98], eax
push 0x569bb8
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xd
call fcn.0040c160
test al, al
jne 0x40d30d
push 0
push 0x569bb8
lea ecx, [ebp - 0x98]
call fcn.0041a8f0
mov byte [ebp - 4], 0xe
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6de
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x94], eax
push 0x569bb8
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xf
call fcn.0040c160
test al, al
jne 0x40d358
push 0
push 0x569bb8
lea ecx, [ebp - 0x94]
call fcn.0041a8f0
mov byte [ebp - 4], 0x10
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6e8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x90], eax
push str.7z_download_success
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.0040c160
test al, al
jne 0x40d3a3
push 0x13
push str.7z_download_success
lea ecx, [ebp - 0x90]
call fcn.0041a8f0
mov byte [ebp - 4], 0x12
call fcn.00453ec0
lea ecx, [ebp - 0x98]
push ecx
lea ecx, [ebp - 0x94]
mov edx, dword [eax]
push ecx
push 1
lea ecx, [ebp - 0x90]
push ecx
mov ecx, eax
call dword [edx]
mov edx, dword [ebp - 0x90]
mov eax, ebx
mov byte [ebp - 4], 0x10
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d3ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x94]
mov eax, ebx
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d40b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x98]
jmp 0x40d615
sub eax, 1
jne 0x40d4ca
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], al
call fcn.0041c540
push 3
push 0x56bba4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
call fcn.0041c540
mov byte [ebp - 4], 0x14
call fcn.00474150
mov edi, eax
lea ecx, [ebp - 0x1e0]
push 0x2f0
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004066e0
mov esi, eax
push 0x56c2b4
push esi
mov byte [ebp - 4], 0x15
call fcn.00407a90
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.00407f30
lea ecx, [ebp - 0x68]
call fcn.004070a0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 8
call fcn.004070a0
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x84]
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6f2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa4], eax
push 0x569bb8
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x16
call fcn.0040c160
test al, al
jne 0x40d511
push 0
push 0x569bb8
lea ecx, [ebp - 0xa4]
call fcn.0041a8f0
mov byte [ebp - 4], 0x17
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d6fc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa0], eax
push 0x569bb8
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x18
call fcn.0040c160
test al, al
jne 0x40d55c
push 0
push 0x569bb8
lea ecx, [ebp - 0xa0]
call fcn.0041a8f0
mov byte [ebp - 4], 0x19
call fcn.00414250
mov ecx, eax
test ecx, ecx
je 0x40d706
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9c], eax
push str.7z_download_fail
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x1a
call fcn.0040c160
test al, al
jne 0x40d5a7
push 0x10
push str.7z_download_fail
lea ecx, [ebp - 0x9c]
call fcn.0041a8f0
mov byte [ebp - 4], 0x1b
call fcn.00453ec0
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [ebp - 0xa0]
mov edx, dword [eax]
push ecx
push 1
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, eax
call dword [edx]
mov edx, dword [ebp - 0x9c]
mov eax, ebx
mov byte [ebp - 4], 0x19
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d5ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa0]
mov eax, ebx
mov byte [ebp - 4], 0x17
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d60f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa4]
mov eax, ebx
mov byte [ebp - 4], 8
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d630
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40d648
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa8]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d669
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40d68e
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x40d68e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x40d68e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
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.00465d1b
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
push 0x80004005
call fcn.0040c140
int3