Function at 0x42ae20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x560296
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.004112d0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x244]
push eax
call fcn.0045db20
add esp, 4
mov dword [ebp - 4], 0
push esp
call fcn.0045e270
add esp, 4
lea eax, [ebp - 0x24c]
push eax
call fcn.0045db20
push dword [ebp - 0x244]
mov byte [ebp - 4], 1
push dword [ebp - 0x24c]
call fcn.0045bcb0
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.0045f6d0
add esp, 0x10
test eax, eax
jne 0x42b4c8
call fcn.0047a580
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42b4c8
mov eax, 0x74a9
mov edx, 0x7499
mov word [ebp - 0x178], ax
mov ecx, 0x749d
mov eax, 0x748d
mov esi, 0x7566
mov word [ebp - 0x176], ax
mov ebx, 0x7542
mov word [ebp - 0x174], dx
mov eax, 0x749c
mov word [ebp - 0x172], ax
mov edi, 0x757f
mov word [ebp - 0x170], cx
mov eax, 0x749f
mov word [ebp - 0x16e], ax
mov eax, 0x74bf
mov word [ebp - 0x16c], cx
mov ecx, 0x7495
mov word [ebp - 0x16a], ax
mov eax, 0x749b
mov word [ebp - 0x168], ax
mov eax, 0x7490
mov word [ebp - 0x166], ax
mov eax, 0x7485
mov word [ebp - 0x164], ax
mov eax, 0x748b
mov word [ebp - 0x162], cx
mov word [ebp - 0x160], ax
mov eax, 0x74c7
mov word [ebp - 0x15e], ax
mov eax, 0x74cc
mov word [ebp - 0x15c], ax
mov eax, 0x74bc
mov word [ebp - 0x15a], ax
mov eax, 0x7487
mov word [ebp - 0x158], cx
mov ecx, 0x7569
mov word [ebp - 0x156], ax
mov eax, 0x74bd
mov word [ebp - 0x154], ax
mov eax, 0x7561
mov word [ebp - 0x152], dx
mov edx, 0x756c
mov word [ebp - 0x150], ax
mov eax, 0x7568
mov word [ebp - 0x14e], si
mov word [ebp - 0x14c], bx
mov word [ebp - 0x14a], ax
mov eax, 0x7560
mov word [ebp - 0x148], ax
mov eax, 0x756a
mov word [ebp - 0x146], ax
mov eax, 0x7567
mov word [ebp - 0x144], dx
mov word [ebp - 0x142], ax
mov eax, 0x754f
mov word [ebp - 0x140], ax
mov eax, 0x754c
mov word [ebp - 0x13e], di
mov word [ebp - 0x13c], cx
mov word [ebp - 0x13a], si
mov esi, 0x7570
mov word [ebp - 0x138], ax
mov eax, 0x7533
mov word [ebp - 0x136], dx
mov edx, 0x7562
mov word [ebp - 0x134], cx
mov word [ebp - 0x132], cx
mov word [ebp - 0x130], si
mov word [ebp - 0x12e], ax
mov eax, 0x7563
mov word [ebp - 0x12c], ax
mov eax, 0x7572
mov word [ebp - 0x12a], ax
mov eax, 0x7578
mov word [ebp - 0x128], di
mov word [ebp - 0x126], ax
mov eax, 0x7535
mov word [ebp - 0x124], ax
mov eax, 0x757c
mov word [ebp - 0x122], dx
mov word [ebp - 0x120], ax
mov ecx, 0x756e
mov word [ebp - 0x11e], cx
mov eax, 0x7579
mov word [ebp - 0x11c], ax
mov eax, 0x7538
mov word [ebp - 0x11a], cx
mov ecx, 0x7548
mov word [ebp - 0x118], dx
mov word [ebp - 0x116], si
mov word [ebp - 0x114], di
xor edi, edi
mov word [ebp - 0x112], ax
mov eax, 0x754a
mov word [ebp - 0x110], ax
mov eax, 0x754b
mov word [ebp - 0x10e], bx
mov ebx, 0xf
mov word [ebp - 0x10c], cx
mov word [ebp - 0x10a], ax
mov word [ebp - 0x108], ax
mov eax, 0x750b
mov word [ebp - 0x106], cx
mov word [ebp - 0x104], ax
mov eax, 0x7520
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, 0x432c74ec
mov edx, 0xc41739a
cmovae ecx, ebx
shl ecx, 2
call fcn.0046c590
and ax, 0xf
lea ecx, [edi + 0x74ec]
xor ax, cx
xor ax, si
mov word [ebp + edi*2 - 0x178], ax
inc edi
cmp edi, 0x3c
jb 0x42b1c0
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.004211a0
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.004211a0
mov byte [ebp - 4], 4
call fcn.0047a580
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.00422460
push 0xffffffffffffffff
push 0x57293c
lea ecx, [ebp - 0x8c]
mov edi, eax
call fcn.00422460
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.00516260
add esp, 0xc
cmp esi, 0xffffffff
je 0x42b3a5
lea eax, [esi - 1]
cmp edi, eax
jae 0x42b3a5
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 0x42bb0f
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.004211a0
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 0x42b388
mov ecx, dword [ebp - 0x190]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b37e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42bb14
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
jmp 0x42b3bb
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 0x42b45d
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b453
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42bb19
push edx
push ecx
call fcn.0046c2cf
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 0x42b4b3
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b4a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42bb1e
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
lea ecx, [ebp - 0x270]
call fcn.00503cc0
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x270]
call fcn.005049c0
test al, al
jne 0x42b895
call fcn.0047a580
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42b895
mov eax, 0x61c9
mov ecx, 0x61e3
mov word [ebp - 0x100], ax
mov edx, 0x61f5
mov word [ebp - 0xfe], cx
mov eax, 0x61f4
mov word [ebp - 0xfc], ax
mov edi, 0x61c0
mov word [ebp - 0xfa], dx
mov eax, 0x61ef
mov word [ebp - 0xf8], cx
mov esi, 0x61f2
mov word [ebp - 0xf6], ax
mov ebx, 0x61db
mov eax, 0x61e4
mov word [ebp - 0xf4], ax
mov word [ebp - 0xf2], di
mov word [ebp - 0xf0], ax
mov eax, 0x61e0
mov word [ebp - 0xee], cx
mov ecx, 0x61ff
mov word [ebp - 0xec], si
mov word [ebp - 0xea], ax
mov eax, 0x61ee
mov word [ebp - 0xe8], ax
mov eax, 0x61a5
mov word [ebp - 0xe6], ax
mov eax, 0x61ab
mov word [ebp - 0xe4], ax
mov eax, 0x61d5
mov word [ebp - 0xe2], ax
mov eax, 0x61e9
mov word [ebp - 0xe0], dx
mov edx, 0x61d6
mov word [ebp - 0xde], ax
mov eax, 0x61d0
mov word [ebp - 0xdc], ax
mov eax, 0x61f0
mov word [ebp - 0xda], ax
mov eax, 0x61f6
mov word [ebp - 0xd8], cx
mov word [ebp - 0xd6], ax
mov eax, 0x61f7
mov word [ebp - 0xd4], bx
mov word [ebp - 0xd2], ax
mov eax, 0x61f9
mov word [ebp - 0xd0], cx
mov ecx, 0x61ce
mov word [ebp - 0xce], ax
mov eax, 0x61fb
mov word [ebp - 0xcc], ax
mov eax, 0x61ea
mov word [ebp - 0xca], si
mov esi, 0x61dc
mov word [ebp - 0xc8], ax
mov eax, 0x61dd
mov word [ebp - 0xc6], ax
mov eax, 0x61cf
mov word [ebp - 0xc4], cx
mov word [ebp - 0xc2], ax
mov eax, 0x61ec
mov word [ebp - 0xc0], ax
mov eax, 0x61c2
mov word [ebp - 0xbe], ax
mov eax, 0x61c4
mov word [ebp - 0xbc], ax
mov eax, 0x6183
mov word [ebp - 0xba], di
mov edi, 0x61d8
mov word [ebp - 0xb8], cx
mov word [ebp - 0xb6], ax
mov eax, 0x61c9
mov word [ebp - 0xb4], di
mov word [ebp - 0xb2], ax
mov eax, 0x61d3
mov word [ebp - 0xb0], ax
mov eax, 0x61c7
mov word [ebp - 0xae], si
mov word [ebp - 0xac], ax
mov eax, 0x6185
mov word [ebp - 0xaa], ax
mov word [ebp - 0xa8], dx
mov eax, 0x61cc
mov word [ebp - 0xa6], ax
mov ecx, 0x61de
mov word [ebp - 0xa4], cx
mov eax, 0x6190
mov word [ebp - 0xa2], si
mov word [ebp - 0xa0], ax
mov eax, 0x6196
mov word [ebp - 0x9e], bx
mov word [ebp - 0x9c], dx
mov word [ebp - 0x9a], di
xor edi, edi
mov word [ebp - 0x98], cx
mov word [ebp - 0x96], dx
mov word [ebp - 0x94], si
mov word [ebp - 0x92], ax
mov eax, 0x61b1
mov word [ebp - 0x90], ax
mov ax, word [ebp - 0x100]
nop word [eax + 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, 0x13ecac2d
cmovae ecx, eax
mov eax, 0x32aa6184
shl ecx, 2
call fcn.0046c590
and ax, 0xf
lea ecx, [edi + 0x6184]
xor ax, cx
xor ax, si
mov word [ebp + edi*2 - 0x100], ax
inc edi
cmp edi, 0x39
jb 0x42b780
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.004211a0
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.004211a0
mov byte [ebp - 4], 9
call fcn.0047a580
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.00418ed0
mov ecx, eax
test ecx, ecx
je 0x42bb23
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.00410de0
test al, al
jne 0x42b8dc
push 0
push 0x5726b4
lea ecx, [ebp - 0x23c]
call fcn.0041f550
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.004211a0
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.005046f0
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 0x42b965
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.004267b0
mov esi, dword [ebp - 0x240]
neg eax
sbb eax, eax
neg eax
or esi, eax
mov dword [ebp - 0x240], esi
je 0x42ba77
call fcn.0047a580
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x42ba77
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.004211a0
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.004211a0
mov byte [ebp - 4], 0x12
call fcn.0047a580
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 0x42ba98
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x270]
call fcn.00501200
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 0x42bacf
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 0x42baf1
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.0046c16d
mov esp, ebp
pop ebp
ret
call fcn.00420c50
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
push 0x80004005
call fcn.00410dc0
int3