Function at 0x42ad70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5601f6
mov eax, dword fs:[0]
push eax
sub esp, 0x42c
mov eax, dword [0x5be26c]
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, ecx
mov dword [ebp - 0x250], eax
mov eax, dword [eax + 0x1c]
push ecx
mov esi, esp
mov dword [ebp - 0x244], esi
mov eax, dword [eax + 0x28]
sub eax, 0x10
push eax
call fcn.004112a0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x244]
push eax
call fcn.0045da80
add esp, 4
mov dword [ebp - 4], 0
push esp
call fcn.0045e1d0
add esp, 4
lea eax, [ebp - 0x24c]
push eax
call fcn.0045da80
push dword [ebp - 0x244]
mov byte [ebp - 4], 1
push dword [ebp - 0x24c]
call fcn.0045bc10
add esp, 0x10
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0xf
mov byte [ebp - 0x238], 0
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 2
push eax
push str.FILERES
push 0xca
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.0045f650
add esp, 0x10
test eax, eax
jne 0x42b438
call fcn.0047a530
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42b438
mov eax, 0xd1f9
mov ecx, 0xd1d0
mov word [ebp - 0x178], ax
mov edx, 0xd1ce
mov word [ebp - 0x176], cx
mov eax, 0xd1c4
mov word [ebp - 0x174], ax
mov edi, 0xd1bb
mov word [ebp - 0x172], dx
mov eax, 0xd1d4
mov word [ebp - 0x170], ax
mov esi, 0xd1ba
mov eax, 0xd1d9
mov ebx, 0xd18f
mov word [ebp - 0x16e], ax
mov eax, 0xd1fb
mov word [ebp - 0x16c], cx
mov ecx, 0xd1a0
mov word [ebp - 0x16a], ax
mov eax, 0xd1d3
mov word [ebp - 0x168], ax
mov eax, 0xd1da
mov word [ebp - 0x166], ax
mov eax, 0xd1d8
mov word [ebp - 0x164], dx
mov edx, 0xd1a8
mov word [ebp - 0x162], ax
mov eax, 0xd1fa
mov word [ebp - 0x160], di
mov word [ebp - 0x15e], ax
mov eax, 0xd1ff
mov word [ebp - 0x15c], ax
mov eax, 0xd189
mov word [ebp - 0x15a], ax
mov eax, 0xd1a5
mov word [ebp - 0x158], ax
mov eax, 0xd180
mov word [ebp - 0x156], si
mov word [ebp - 0x154], ax
mov eax, 0xd1ab
mov word [ebp - 0x152], ax
mov eax, 0xd1ac
mov word [ebp - 0x150], dx
mov word [ebp - 0x14e], cx
mov word [ebp - 0x14c], bx
mov word [ebp - 0x14a], ax
mov eax, 0xd1a7
mov word [ebp - 0x148], dx
mov word [ebp - 0x146], cx
mov word [ebp - 0x144], ax
mov eax, 0xd1aa
mov word [ebp - 0x142], ax
mov eax, 0xd19f
mov word [ebp - 0x140], ax
mov eax, 0xd1a2
mov word [ebp - 0x13e], ax
mov eax, 0xd1b3
mov word [ebp - 0x13c], si
mov word [ebp - 0x13a], ax
mov eax, 0xd19c
mov word [ebp - 0x138], ax
mov eax, 0xd1b1
mov word [ebp - 0x136], ax
mov eax, 0xd1b4
mov word [ebp - 0x134], ax
mov eax, 0xd1b9
mov word [ebp - 0x132], di
mov word [ebp - 0x130], ax
mov eax, 0xd1f5
mov word [ebp - 0x12e], ax
mov eax, 0xd1ae
mov word [ebp - 0x12c], ax
mov eax, 0xd1b6
mov word [ebp - 0x12a], ax
mov eax, 0xd1b7
mov word [ebp - 0x128], ax
mov eax, 0xd1b2
mov word [ebp - 0x126], ax
mov eax, 0xd1fe
mov word [ebp - 0x124], ax
mov eax, 0xd1af
mov word [ebp - 0x122], ax
mov edx, 0xd182
mov eax, 0xd18c
mov ecx, 0xd183
mov word [ebp - 0x120], ax
xor edi, edi
mov eax, 0xd193
mov word [ebp - 0x11e], ax
mov eax, 0xd18a
mov word [ebp - 0x11c], ax
mov eax, 0xd19b
mov word [ebp - 0x11a], ax
mov eax, 0xd192
mov word [ebp - 0x118], ax
mov eax, 0xd18d
mov word [ebp - 0x116], ax
mov eax, 0xd1ca
mov word [ebp - 0x114], dx
mov word [ebp - 0x112], ax
mov eax, 0xd184
mov word [ebp - 0x110], cx
mov word [ebp - 0x10e], ax
mov eax, 0xd185
mov word [ebp - 0x10c], ax
mov eax, 0xd1c0
mov word [ebp - 0x10a], bx
mov ebx, 0xf
mov word [ebp - 0x108], cx
mov word [ebp - 0x106], dx
mov word [ebp - 0x104], ax
mov eax, 0xd1ed
mov word [ebp - 0x102], ax
mov ax, word [ebp - 0x178]
nop word [eax + eax]
mov ax, word [ebp + edi*2 - 0x178]
mov ecx, edi
and ecx, ebx
movzx esi, ax
cmp ecx, ebx
mov eax, 0x86cdd1b4
mov edx, 0xd71920ba
cmovae ecx, ebx
shl ecx, 2
call fcn.0046c530
and ax, 0xf
lea ecx, [edi - 0x2e4c]
xor ax, cx
xor ax, si
mov word [ebp + edi*2 - 0x178], ax
inc edi
cmp edi, 0x3c
jb 0x42b130
push 0x61
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxmain_control.cc
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x8c], 0
call fcn.004210f0
push 3
push 0x572a44
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 3
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
call fcn.004210f0
mov byte [ebp - 4], 4
call fcn.0047a530
push 1
push 2
lea ecx, [ebp - 0x308]
mov ebx, eax
call fcn.0040ade0
push 0xffffffffffffffff
push 0x572938
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 5
call fcn.004223b0
push 0xffffffffffffffff
push 0x57293c
lea ecx, [ebp - 0x8c]
mov edi, eax
call fcn.004223b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005161d0
add esp, 0xc
cmp esi, 0xffffffff
je 0x42b315
lea eax, [esi - 1]
cmp edi, eax
jae 0x42b315
mov eax, dword [ebp - 0x7c]
lea edx, [edi + 1]
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
cmp eax, edx
jb 0x42ba7f
sub esi, edi
sub eax, edx
mov dword [ebp - 0x258], eax
lea ecx, [esi - 1]
cmp eax, ecx
mov dword [ebp - 0x254], ecx
cmovb ecx, eax
cmp dword [ebp - 0x78], 0x10
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
push ecx
add eax, edx
lea ecx, [ebp - 0x190]
push eax
call fcn.004210f0
cmp dword [ebp - 0x17c], 0x10
lea eax, [ebp - 0x190]
cmovae eax, dword [ebp - 0x190]
push eax
push 0x13b
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.0040a880
mov edx, dword [ebp - 0x17c]
add esp, 0x10
cmp edx, 0x10
jb 0x42b2f8
mov ecx, dword [ebp - 0x190]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b2ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ba84
push edx
push ecx
call fcn.0046c26f
add esp, 8
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
jmp 0x42b32b
push 0x13b
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.0040a880
add esp, 0xc
cmp dword [ebp - 0x194], 0x10
lea eax, [ebp - 0x1a8]
cmovae eax, dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.0040c570
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.0040c570
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.00409810
mov eax, dword [ebx]
lea ecx, [ebp - 0x308]
add esp, 0x18
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x308]
call fcn.0040cbc0
mov edx, dword [ebp - 0x194]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x42b3cd
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b3c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ba89
push edx
push ecx
call fcn.0046c26f
add esp, 8
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b423
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b419
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ba8e
push edx
push ecx
call fcn.0046c26f
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
lea ecx, [ebp - 0x270]
call fcn.00503c20
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x270]
call fcn.00504920
test al, al
jne 0x42b805
call fcn.0047a530
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42b805
mov eax, 0x66f9
mov edx, 0x66c1
mov word [ebp - 0x100], ax
mov ecx, 0x66d6
mov eax, 0x66d4
mov ebx, 0x668c
mov word [ebp - 0xfe], ax
mov edi, 0x66a3
mov eax, 0x66c7
mov esi, 0x66a9
mov word [ebp - 0xfc], ax
mov eax, 0x66d8
mov word [ebp - 0xfa], dx
mov word [ebp - 0xf8], ax
mov eax, 0x66df
mov word [ebp - 0xf6], ax
mov eax, 0x66f4
mov word [ebp - 0xf4], cx
mov word [ebp - 0xf2], ax
mov eax, 0x66d7
mov word [ebp - 0xf0], ax
mov eax, 0x66db
mov word [ebp - 0xee], cx
mov ecx, 0x66b5
mov word [ebp - 0xec], dx
mov edx, 0x66b4
mov word [ebp - 0xea], ax
mov eax, 0x66cc
mov word [ebp - 0xe8], ax
mov eax, 0x668a
mov word [ebp - 0xe6], ax
mov eax, 0x66fd
mov word [ebp - 0xe4], bx
mov word [ebp - 0xe2], ax
mov eax, 0x66a5
mov word [ebp - 0xe0], ax
mov eax, 0x66be
mov word [ebp - 0xde], ax
mov eax, 0x6683
mov word [ebp - 0xdc], ax
mov eax, 0x66a4
mov word [ebp - 0xda], ax
mov word [ebp - 0xd8], ax
mov eax, 0x66a6
mov word [ebp - 0xd6], ax
mov eax, 0x6689
mov word [ebp - 0xd4], ax
mov eax, 0x66ac
mov word [ebp - 0xd2], di
mov word [ebp - 0xd0], ax
mov word [ebp - 0xce], ax
mov eax, 0x66a8
mov word [ebp - 0xcc], ax
mov eax, 0x6688
mov word [ebp - 0xca], si
mov word [ebp - 0xc8], ax
mov eax, 0x66b2
mov word [ebp - 0xc6], ax
mov eax, 0x66a7
mov word [ebp - 0xc4], si
mov word [ebp - 0xc2], ax
mov eax, 0x669c
mov word [ebp - 0xc0], ax
mov eax, 0x66b7
mov word [ebp - 0xbe], cx
mov word [ebp - 0xbc], ax
mov eax, 0x66f3
mov word [ebp - 0xba], dx
mov word [ebp - 0xb8], cx
mov word [ebp - 0xb6], ax
mov eax, 0x66aa
mov word [ebp - 0xb4], ax
mov eax, 0x66bd
mov word [ebp - 0xb2], ax
mov eax, 0x66a0
mov word [ebp - 0xb0], ax
mov eax, 0x66fe
mov word [ebp - 0xae], si
mov word [ebp - 0xac], dx
mov word [ebp - 0xaa], ax
mov word [ebp - 0xa8], dx
mov word [ebp - 0xa6], di
mov eax, 0x66b9
mov word [ebp - 0xa4], ax
xor edi, edi
mov word [ebp - 0xa2], dx
mov eax, 0x66c0
mov word [ebp - 0xa0], ax
mov eax, 0x6685
mov word [ebp - 0x9e], bx
mov word [ebp - 0x9c], ax
mov word [ebp - 0x9a], bx
mov word [ebp - 0x98], ax
mov eax, 0x6686
mov word [ebp - 0x96], ax
mov eax, 0x668e
mov word [ebp - 0x94], ax
mov eax, 0x66c2
mov word [ebp - 0x92], ax
mov eax, 0x66e2
mov word [ebp - 0x90], ax
mov ax, word [ebp - 0x100]
nop dword [eax]
mov ax, word [ebp + edi*2 - 0x100]
mov ecx, edi
and ecx, 0xf
movzx esi, ax
cmp ecx, 0xf
mov eax, 0xf
mov edx, 0x58d25b3a
cmovae ecx, eax
mov eax, 0xbc6d66b0
shl ecx, 2
call fcn.0046c530
and ax, 0xf
lea ecx, [edi + 0x66b0]
xor ax, cx
xor ax, si
mov word [ebp + edi*2 - 0x100], ax
inc edi
cmp edi, 0x39
jb 0x42b6f0
push 0x61
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxmain_control.cc
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
call fcn.004210f0
push 3
push 0x572a44
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 8
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
call fcn.004210f0
mov byte [ebp - 4], 9
call fcn.0047a530
mov edi, eax
lea ecx, [ebp - 0x3a0]
push 0x141
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0040b1c0
mov esi, eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xa
push eax
push esi
call fcn.00409810
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x3a0]
call fcn.0040cbc0
lea ecx, [ebp - 0x1c0]
call fcn.0040bb80
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 7
call fcn.0040bb80
call fcn.00418e90
mov ecx, eax
test ecx, ecx
je 0x42ba93
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x23c], eax
push 0x5726b4
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0xb
call fcn.00410db0
test al, al
jne 0x42b84c
push 0
push 0x5726b4
lea ecx, [ebp - 0x23c]
call fcn.0041f4a0
push 9
push str.login_url
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
call fcn.004210f0
push 0xfde9
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x270]
call fcn.00504650
lea ecx, [ebp - 0x1f0]
call fcn.0040bb80
mov edx, dword [ebp - 0x23c]
or ebx, 0xffffffff
mov byte [ebp - 4], 0x10
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42b8d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x250]
push dword [ebp - 0x248]
mov ecx, dword [ecx + 0x1c]
add ecx, 0x68
call fcn.00426700
mov esi, dword [ebp - 0x240]
neg eax
sbb eax, eax
neg eax
or esi, eax
mov dword [ebp - 0x240], esi
je 0x42b9e7
call fcn.0047a530
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42b9e7
push 0x61
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxmain_control.cc
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], 0xf
mov byte [ebp - 0x220], al
call fcn.004210f0
push 3
push 0x572c38
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
call fcn.004210f0
mov byte [ebp - 4], 0x12
call fcn.0047a530
mov edi, eax
lea ecx, [ebp - 0x438]
push 0x147
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0040b1c0
mov esi, eax
push str.need_update
push esi
mov byte [ebp - 4], 0x13
call fcn.0040c570
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x438]
call fcn.0040cbc0
lea ecx, [ebp - 0x208]
call fcn.0040bb80
lea ecx, [ebp - 0x220]
call fcn.0040bb80
mov esi, dword [ebp - 0x240]
mov edx, dword [ebp - 0x248]
mov eax, ebx
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42ba08
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x270]
call fcn.00501160
lea ecx, [ebp - 0x238]
call fcn.0040bb80
mov edx, dword [ebp - 0x24c]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42ba3f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x244]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42ba61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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.0046c10d
mov esp, ebp
pop ebp
ret
call fcn.00420ba0
call fcn.0051a76c
call fcn.0051a76c
call fcn.0051a76c
push 0x80004005
call fcn.00410d90
int3