Function at 0x512000
Capabilities:
Check for time delay via gettickcount
Check if file exists
Contain obfuscated stackstrings
Copy file
Get common file path
Move file
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53c7e0
mov eax, dword fs:[0]
push eax
sub esp, 0x558
mov eax, dword [0x59a0a0]
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 edi, ecx
mov eax, dword [edi + 0x46c]
sub eax, dword [edi + 0x468]
sar eax, 2
cmp dword [edi + 0x464], eax
jb 0x5121d1
mov eax, dword [edi + 0x46c]
sub eax, dword [edi + 0x468]
sar eax, 2
test eax, eax
je 0x51217f
lea ecx, [ebp - 0x4c4]
mov dword [edi + 0x400], 0x7d0
call fcn.00429390
mov dword [ebp - 4], 0
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 0x1a
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ebx, dword [edi + 0x478]
mov dword [ebp - 0x38c], eax
test ebx, ebx
jne 0x5120f9
xor edx, edx
jmp 0x512135
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x512100
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x51211e
xor edx, edx
jmp 0x512135
add esi, esi
mov eax, esi
call fcn.0049bc00
mov ecx, esp
mov edx, ebx
push 3
push esi
call fcn.0042d380
mov edx, eax
cmp byte [edx], 0
jne 0x51213e
xor ecx, ecx
jmp 0x51214c
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x512143
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x424]
call fcn.00406560
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 4], 0xffffffff
call fcn.0042a2e0
push 0xe15
push 0x567d18
push 0x567d70
lea ecx, [ebp - 0x4f8]
call fcn.00428d70
mov esi, eax
push 0
push 0x447d9e
lea ecx, [edi + 0x408]
mov dword [ebp - 4], 1
call fcn.0042ad30
push eax
mov edx, esi
xor ecx, ecx
call fcn.00508bc0
add esp, 4
lea ecx, [ebp - 0x4f8]
call fcn.00428f50
jmp 0x514390
cmp dword [0x59fb2c], 0
je 0x512207
mov ecx, 0x59aad0
call fcn.004cdae0
test eax, eax
je 0x512207
push 0x40
push 0x567ad4
push 0x567c14
push dword [edi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, 0x59aa60
call fcn.004cd720
mov eax, dword [edi + 0x46c]
mov ebx, dword [edi + 0x468]
sub eax, ebx
mov ecx, dword [edi + 0x464]
sar eax, 2
cmp eax, ecx
ja 0x51222c
push 0x57962c
call fcn.00498105
mov ebx, dword [ebx + ecx*4]
lea eax, [ecx + 1]
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x560], ebx
push ecx
lea ecx, [ebp - 0x55c]
mov dword [edi + 0x464], eax
push ecx
lea ecx, [edi + 0x424]
mov dword [ebp - 0x564], ebx
call fcn.0042be10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x55c]
push dword [ecx + 0x60]
mov dword [ecx + 0x38], eax
lea eax, [ecx + 0x60]
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x540], eax
call fcn.00404170
mov dword [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x268], 7
mov dword [ebp - 0x26c], 0
mov word [ebp - 0x27c], ax
mov byte [ebp - 4], 3
xor edx, edx
mov ecx, dword [edi + 0x46c]
imul eax, dword [edi + 0x464], 0x64
sub ecx, dword [edi + 0x468]
sar ecx, 2
mov esi, dword [edi]
div ecx
mov ecx, edi
push eax
call dword [esi + 0xc0]
mov esi, dword [ebp - 0x55c]
mov ecx, edi
mov edx, dword [edi]
mov eax, dword [esi + 0x44]
push eax
push 3
mov dword [edi + 0x400], eax
call dword [edx + 0x1c]
push ebx
push 0x567e98
push str.__s__Start_Install_CompId__d_
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x10
cmp dword [edi + 0x500], 0
push ebx
je 0x512356
push 0x567d98
push str.__s__Recv_Inner_Exit_Message_CompId__d__Will_Not_Install
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x10
mov dword [edi + 0x400], 0x322
mov dword [edi + 0x3c], 0x322
mov dword [edi + 0x3b4], 1
push 0
push 0
push 0
push dword [edi + 0x3b8]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
jmp 0x51434a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa0]
cmp ebx, 1
jne 0x512371
mov ecx, edi
call fcn.004fb100
jmp 0x512449
cmp ebx, 2
jne 0x512382
mov ecx, edi
call fcn.004fa200
jmp 0x512449
cmp ebx, 7
jne 0x5123e7
cmp dword [0x59fb2c], 0
jne 0x512395
call fcn.004f8660
cmp dword [0x59fb58], 0
je 0x5123ae
push str._nodesktopIcon
lea ecx, [ebp - 0x27c]
call fcn.00405170
cmp dword [0x59fb5c], 0
je 0x512449
cmp dword [ebp - 0x26c], 0
lea ecx, [ebp - 0x27c]
sete al
test al, al
je 0x5123db
push str._noquickstartmenu
call fcn.00405170
jmp 0x512449
push str.__noquickstartmenu
call fcn.00404070
jmp 0x512449
cmp ebx, 3
jne 0x512449
mov eax, dword [0x59fb98]
cmp dword [eax - 0xc], 0
je 0x512449
push ecx
lea ecx, [esi + 0x7c]
call fcn.004117b0
test eax, eax
jle 0x512449
inc eax
lea ecx, [esi + 0x7c]
push eax
push 0
lea eax, [ebp - 0x544]
push eax
call fcn.00403370
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x544]
mov eax, dword [0x59fb98]
push dword [eax - 0xc]
push eax
call fcn.00402320
lea eax, [ebp - 0x544]
push eax
lea ecx, [esi + 0x7c]
call fcn.00401f90
lea ecx, [ebp - 0x544]
call fcn.00402ed0
mov ecx, dword [esi + 0x7c]
cmp dword [ecx - 0xc], 0
je 0x512aa2
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
push 0
push ecx
push 0x2001f
push 0
push ecx
push ecx
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 5
call fcn.00406f00
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x548], eax
call fcn.00429390
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 5
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
jne 0x512545
xor edx, edx
jmp 0x51258e
mov ecx, eax
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x512550
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x51256c
xor edx, edx
jmp 0x51258e
lea esi, [ecx + ecx]
mov eax, esi
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push esi
call fcn.0042d380
mov esi, dword [ebp - 0x55c]
mov edx, eax
cmp byte [edx], 0
jne 0x512597
xor ecx, ecx
jmp 0x5125af
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x554], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5125a2
sub ecx, dword [ebp - 0x554]
push ecx
push edx
lea ecx, [ebp - 0x424]
call fcn.00406560
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 5
call fcn.0042a2e0
mov ecx, dword [ebp - 0x548]
test ecx, ecx
je 0x5126d7
cmp ecx, 0x3fd
jne 0x51281c
lea eax, [ebp - 0x530]
mov dword [ebp - 0x530], 0
push eax
push ecx
push 0x2001f
push 0
push ecx
push 0x567f10
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x228]
call fcn.00406f00
test eax, eax
jne 0x512662
cmp dword [ebp - 0x530], 2
jne 0x5126d7
push eax
push ecx
push 0x2001f
push eax
push ecx
push str.SoftwareTencent
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x228]
call fcn.00406f00
test eax, eax
jne 0x5126d7
push 0x567fec
jmp 0x5126cc
cmp eax, 0x3fd
jne 0x5126d7
lea eax, [ebp - 0x530]
mov dword [ebp - 0x530], 0
push eax
push ecx
push 0x2001f
push 0
push ecx
push 0x567f90
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x228]
call fcn.00406f00
test eax, eax
jne 0x5126d7
cmp dword [ebp - 0x530], 2
jne 0x5126d7
push eax
push ecx
push 0x2001f
push eax
push ecx
push 0x567fb4
push reloc.WS2_32.dll_bind
lea ecx, [ebp - 0x228]
call fcn.00406f00
test eax, eax
jne 0x5126d7
push 0x568014
lea ecx, [ebp - 0x228]
call fcn.00423670
push 0
push ecx
push 0x2001f
push 0
push ecx
push dword [esi + 0x7c]
lea ecx, [ebp - 0x228]
push reloc.WS2_32.dll_bind
call fcn.00406f00
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x548], eax
call fcn.00429390
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 5
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x5127e3
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5127a7
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x5127c3
xor eax, eax
jmp 0x5127e3
lea esi, [ecx + ecx]
mov eax, esi
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push esi
call fcn.0042d380
mov esi, dword [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 5
call fcn.0042a2e0
mov ecx, dword [ebp - 0x548]
test ecx, ecx
je 0x512851
mov eax, dword [esi + 0x48]
mov dword [edi + 0x400], eax
mov eax, dword [edi]
push ecx
mov dword [edi + 0x4c4], ecx
mov ecx, edi
push ebx
call dword [eax + 0x8c]
mov eax, dword [ebp - 0x228]
test eax, eax
je 0x51434a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x51434a
mov ecx, dword [edi + 0x43c]
sub ecx, 0x10
call fcn.004021e0
add eax, 0x10
mov dword [ebp - 0x534], eax
push 0x568024
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 8
call fcn.00401ff0
mov esi, eax
push 1
lea eax, [ebp - 0x548]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x534]
call fcn.004032e0
mov edx, esi
mov ecx, eax
call fcn.0042aad0
lea ecx, [ebp - 0x548]
mov bl, al
call fcn.00402ed0
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 8
call fcn.00402ed0
test bl, bl
je 0x5128cf
push 0x568008
lea ecx, [ebp - 0x534]
call fcn.00401f40
mov esi, dword [ebp - 0x55c]
add esi, 0x6c
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x512976
mov ebx, dword [ebp - 0x560]
cmp ebx, 1
jne 0x51290d
push 0x56800c
lea ecx, [ebp - 0x534]
call fcn.00401f40
push 0x568048
mov ecx, esi
call fcn.00402e00
jmp 0x51298b
cmp ebx, 3
jne 0x512930
push str.VDI_0
lea ecx, [ebp - 0x534]
call fcn.00401f40
push 0x568028
mov ecx, esi
call fcn.00402e00
jmp 0x51298b
cmp ebx, 7
jne 0x512953
push 0x568034
lea ecx, [ebp - 0x534]
call fcn.00401f40
push 0x56808c
mov ecx, esi
call fcn.00402e00
jmp 0x51298b
cmp ebx, 0xa
jne 0x51298b
push str.Aow_Rootfs
lea ecx, [ebp - 0x534]
call fcn.00401f40
push 0x56805c
mov ecx, esi
call fcn.00402e00
jmp 0x51298b
push dword [eax - 0xc]
lea ecx, [ebp - 0x534]
push eax
call fcn.00402320
mov ebx, dword [ebp - 0x560]
mov esi, dword [ebp - 0x534]
push ecx
push esi
push 0x568074
lea ecx, [ebp - 0x228]
call fcn.00406f90
cmp ebx, 3
jne 0x512a86
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5129c2
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x5129e6
push ecx
mov esi, esp
mov dword [ebp - 0x538], esi
mov ecx, dword [ebp - 0x534]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [esi], eax
call fcn.004e1680
add esp, 4
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x554]
call fcn.00401ff0
push 0x5680f8
lea edx, [ebp - 0x534]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x53c]
call fcn.00401d60
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0xb
push ecx
mov edx, eax
lea ecx, [ebp - 0x548]
call fcn.00401e60
add esp, 8
lea ecx, [ebp - 0x53c]
call fcn.00402ed0
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
push 0
push dword [ebp - 0x548]
cmovae eax, dword [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x548]
call fcn.00402ed0
lea ecx, [ebp - 0x554]
call fcn.00402ed0
lea ecx, [ebp - 0x534]
call fcn.00402ed0
lea ecx, [ebp - 0x228]
call fcn.00404f70
mov esi, dword [ebp - 0x55c]
lea ecx, [ebp - 0x548]
call fcn.00402e50
lea ecx, [ebp - 0x554]
call fcn.00402e50
push 0x20a
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0xd
push 0
push eax
call fcn.0049e130
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x512af0
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x548]
call fcn.00402d50
push 0x5c
push dword [esi + 0x60]
call fcn.0049d8a4
add esp, 8
test eax, eax
je 0x5142c2
sub eax, dword [esi + 0x60]
lea ecx, [esi + 0x60]
sar eax, 1
test eax, eax
jle 0x5142c2
push eax
lea eax, [ebp - 0x53c]
push eax
call fcn.004059d0
push eax
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0xe
call fcn.00401f90
lea ecx, [ebp - 0x53c]
mov byte [ebp - 4], 0xd
call fcn.00402ed0
push dword [ebp - 0x554]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x5142c2
lea ecx, [ebp - 0x4c4]
call fcn.00429390
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 0xd
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x512c53
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x512c17
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x512c33
xor eax, eax
jmp 0x512c53
lea esi, [ecx + ecx]
mov eax, esi
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push esi
call fcn.0042d380
mov esi, dword [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0xd
call fcn.0042a2e0
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push 0x568108
push str.__s__Start_RunExe__s__Ret__d_
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x10
lea ecx, [ebp - 0x264]
push 0x5680f4
call fcn.00404170
push 1
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x24c]
call fcn.004cddd0
add esp, 4
mov dword [ebp - 0x534], eax
lea ecx, [ebp - 0x264]
call fcn.00403110
mov ecx, dword [ebp - 0x534]
xor eax, eax
cmp ecx, 0x3e8
cmove ecx, eax
cmp dword [ebp - 0x238], 8
push ecx
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x534], ecx
cmovae eax, dword [ebp - 0x24c]
push eax
push 0x568200
push str.__s__End_RunExe__s__Ret__d_
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x14
lea ecx, [ebp - 0x4c4]
call fcn.00429390
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 6
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x512e13
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x512dd7
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x512df3
xor eax, eax
jmp 0x512e13
lea esi, [ecx + ecx]
mov eax, esi
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push esi
call fcn.0042d380
mov esi, dword [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0xd
call fcn.0042a2e0
mov ecx, dword [ebp - 0x534]
test ecx, ecx
je 0x51322c
cmp dword [esi + 0x5c], 1
jae 0x512eba
push ebx
push 0x568158
push str.__s__Try_Use_7z_Decompress_ComponentId__d_
mov dword [ebp - 0x53c], 0
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x10
lea eax, [ebp - 0x53c]
push eax
push ecx
mov ecx, esp
push 0x5682f8
call fcn.00401ff0
mov ecx, edi
call fcn.004f3dc0
test eax, eax
jne 0x512f71
push 0x568300
push str.__s__Error__PrepareExtTool_7z_Fail
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0xc
mov ecx, dword [ebp - 0x534]
test ecx, ecx
je 0x51322c
mov eax, dword [esi + 0x5c]
cmp eax, 5
jae 0x51320c
inc eax
lea ecx, [ebp - 0x544]
mov dword [esi + 0x5c], eax
dec dword [edi + 0x464]
call fcn.00402e50
mov byte [ebp - 4], 0x16
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [esi + 0x6c]
lea eax, [ebp - 0x544]
push 0x5680fc
push eax
call fcn.004023f0
add esp, 0x10
lea eax, [ebp - 0x544]
lea ecx, [esi + 0x6c]
push eax
call fcn.00401f90
push 0xfdf
push 0x568350
push 0x568470
lea ecx, [ebp - 0x4f8]
call fcn.00428d70
mov esi, eax
push 0
push 0x447da6
lea ecx, [edi + 0x408]
mov byte [ebp - 4], 0x17
call fcn.0042ad30
push eax
mov edx, esi
mov ecx, 3
call fcn.00508bc0
add esp, 4
lea ecx, [ebp - 0x4f8]
call fcn.00428f50
lea ecx, [ebp - 0x544]
call fcn.00402ed0
jmp 0x514334
cmp ebx, 0xa
je 0x512eb4
lea ecx, [ebp - 0x530]
call fcn.00402e50
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x530]
push dword [esi + 0x70]
call fcn.00401f90
mov esi, dword [ebp - 0x530]
cmp dword [esi - 4], 1
jle 0x512fb7
push dword [esi - 0xc]
lea ecx, [ebp - 0x530]
call fcn.00402b70
mov esi, dword [ebp - 0x530]
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push dword [esi - 8]
push esi
call fcn.004a4fb5
add esp, 8
test eax, eax
js 0x513202
cmp eax, dword [esi - 8]
jg 0x513202
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
lea ecx, [ebp - 0x264]
mov eax, dword [ebp - 0x53c]
mov eax, dword [eax + 8]
push dword [eax + 0x10]
call fcn.00404170
xor eax, eax
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
lea ecx, [ebp - 0x544]
call fcn.00402e50
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x540]
push dword [eax]
lea eax, [ebp - 0x544]
push esi
push str.x__o__s___aoa___s_
push eax
call fcn.004023f0
add esp, 0x10
lea ecx, [ebp - 0x234]
push dword [ebp - 0x544]
call fcn.00405170
lea ecx, [ebp - 0x544]
mov byte [ebp - 4], 0x13
call fcn.00402ed0
push 1
lea edx, [ebp - 0x234]
lea ecx, [ebp - 0x264]
call fcn.004cddd0
add esp, 4
lea edx, [ebp - 0x234]
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x264]
mov esi, eax
cmovae edx, dword [ebp - 0x234]
cmp dword [ebp - 0x250], 8
push edx
cmovae ecx, dword [ebp - 0x264]
push ecx
push esi
push 0x5683a8
push str.__s__7z_Decompress_Ret__d__Exe__s__Param__s_
mov dword [ebp - 0x534], esi
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x18
lea ecx, [ebp - 0x4c4]
call fcn.00429390
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 0x1b
mov dword [ebp - 0x4c0], esi
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp - 0x55c]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x5131ad
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x513171
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x51318d
xor eax, eax
jmp 0x5131ad
lea esi, [ecx + ecx]
mov eax, esi
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push esi
call fcn.0042d380
mov esi, dword [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
call fcn.0042a2e0
lea ecx, [ebp - 0x234]
call fcn.00403110
lea ecx, [ebp - 0x264]
call fcn.00403110
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0xd
call fcn.00402ed0
jmp 0x512eb4
push 0x80070057
call fcn.00401b40
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x400], eax
mov eax, dword [edi]
push ecx
mov dword [edi + 0x4c4], ecx
mov ecx, edi
push ebx
call dword [eax + 0x90]
jmp 0x514334
cmp dword [0x59fbdc], 0
je 0x5133a2
mov eax, dword [esi + 0x70]
cmp eax, dword [esi + 0x74]
je 0x5133a2
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.004021e0
lea esi, [eax + 0x10]
mov dword [ebp - 0x534], esi
mov byte [ebp - 4], 0x18
cmp dword [esi - 4], 1
jle 0x513276
push dword [esi - 0xc]
lea ecx, [ebp - 0x534]
call fcn.00402b70
mov esi, dword [ebp - 0x534]
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push dword [esi - 8]
push esi
call fcn.004a4fb5
add esp, 8
test eax, eax
js 0x513202
cmp eax, dword [esi - 8]
jg 0x513202
xor ecx, ecx
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], cx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x513393
mov ecx, dword [esi - 0xc]
lea eax, [ecx - 1]
test eax, eax
js 0x513202
cmp eax, ecx
jg 0x513202
cmp word [esi + eax*2], 0x5c
je 0x5132df
push 0x568498
lea ecx, [ebp - 0x534]
call fcn.00401f40
push 0x568454
lea ecx, [ebp - 0x534]
call fcn.00401f40
lea ecx, [ebp - 0x294]
call fcn.004cd5e0
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 8
jb 0x513306
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x540]
call fcn.00401ff0
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1b
call fcn.00403110
mov eax, dword [ebp - 0x540]
mov edx, dword [eax - 0xc]
lea ecx, [edx - 1]
test ecx, ecx
js 0x513202
cmp ecx, edx
jg 0x513202
cmp word [eax + ecx*2], 0x5c
je 0x513354
push 0x56846c
lea ecx, [ebp - 0x540]
call fcn.00401f40
push str.Config.ini
lea ecx, [ebp - 0x540]
call fcn.00401f40
push dword [ebp - 0x540]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x513388
push 0
push dword [ebp - 0x534]
push dword [ebp - 0x540]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x540]
call fcn.00402ed0
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0xd
call fcn.00402ed0
cmp ebx, 3
je 0x5133b0
cmp ebx, 6
jne 0x513f38
lea ecx, [ebp - 0x534]
call fcn.00402e50
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x55c]
mov eax, dword [ecx + 0x70]
cmp eax, dword [ecx + 0x74]
je 0x513488
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.004021e0
lea esi, [eax + 0x10]
mov dword [ebp - 0x530], esi
mov byte [ebp - 4], 0x1d
cmp dword [esi - 4], 1
jle 0x513402
push dword [esi - 0xc]
lea ecx, [ebp - 0x530]
call fcn.00402b70
mov esi, dword [ebp - 0x530]
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push dword [esi - 8]
push esi
call fcn.004a4fb5
add esp, 8
test eax, eax
js 0x513202
cmp eax, dword [esi - 8]
jg 0x513202
xor ecx, ecx
mov dword [esi - 0xc], eax
push esi
mov word [esi + eax*2], cx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x513479
mov ecx, dword [esi - 0xc]
lea eax, [ecx - 1]
test eax, eax
js 0x513202
cmp eax, ecx
jg 0x513202
cmp word [esi + eax*2], 0x5c
je 0x513467
push 0x5684dc
lea ecx, [ebp - 0x530]
call fcn.00401f40
lea eax, [ebp - 0x530]
push eax
lea ecx, [ebp - 0x534]
call fcn.00401f90
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x1c
call fcn.00402ed0
push 0x56849c
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x540]
call fcn.00401d60
add esp, 4
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x534]
cmp dword [esi - 0xc], 0
je 0x513624
mov eax, dword [0x59fbe8]
cmp dword [eax - 0xc], 0
je 0x513624
lea ecx, [ebp - 0x530]
call fcn.00402e50
mov byte [ebp - 4], 0x1f
cmp dword [0x59fb94], 0
je 0x5134f6
push dword [0x59fb90]
lea eax, [ebp - 0x530]
push str.TVM__d
push eax
call fcn.004023f0
add esp, 0xc
push ecx
mov ebx, esp
mov dword [ebp - 0x53c], esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [0x59fbe8]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x20
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov eax, dword [ebp - 0x530]
add eax, 0xfffffff0
mov dword [ebp - 0x54c], esp
mov ecx, eax
mov dword [ebp - 0x538], eax
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x21
mov ebx, esp
mov dword [ebp - 0x220], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x1f
call fcn.004f7f40
push 0x568528
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x53c]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x22
call fcn.00401f90
lea ecx, [ebp - 0x53c]
mov byte [ebp - 4], 0x1f
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbe8]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x23
mov ebx, esp
mov dword [ebp - 0x53c], ebx
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x54c], esp
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x24
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x1f
call fcn.004f7f40
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x1e
call fcn.00402ed0
push str.tbox_img.exe
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x544]
call fcn.00401d60
add esp, 4
mov byte [ebp - 4], 0x25
mov eax, dword [0x59fbec]
cmp dword [eax - 0xc], 0
je 0x513906
push 0x5684e0
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x538]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x26
call fcn.00401f90
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbec]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x27
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5684f8
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x28
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbec]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x29
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5685ac
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x2a
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x5685b0
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x2b
mov ebx, esp
mov dword [ebp - 0x53c], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
push 0x568560
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x538]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x2c
call fcn.00401f90
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbec]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x54c], esp
push str.android_system_disk.vdi
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x2e
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbec]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x2f
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5685e4
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x30
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x568630
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x31
mov ebx, esp
mov dword [ebp - 0x53c], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
lea ecx, [ebp - 0x530]
call fcn.00402e50
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x530]
push dword [0x59fbec]
push 0x5685b4
push esi
push 0x5685e8
push eax
call fcn.004023f0
add esp, 0x14
lea ecx, [ebp - 0x294]
push dword [ebp - 0x530]
call fcn.00404170
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x264]
push dword [ebp - 0x544]
call fcn.00404170
push 1
lea edx, [ebp - 0x294]
lea ecx, [ebp - 0x264]
call fcn.004cddd0
add esp, 4
lea ecx, [ebp - 0x264]
call fcn.00403110
lea ecx, [ebp - 0x294]
call fcn.00403110
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
mov eax, dword [0x59fbf0]
cmp dword [eax - 0xc], 0
je 0x513bcb
push 0x56863c
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x538]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x34
call fcn.00401f90
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf0]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x35
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x568654
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x36
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf0]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x37
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x568634
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x38
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x568638
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x39
mov ebx, esp
mov dword [ebp - 0x530], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
push 0x568688
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x53c]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x3a
call fcn.00401f90
lea ecx, [ebp - 0x53c]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf0]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5686a4
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x3c
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf0]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x3d
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x568680
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x3e
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x568684
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x3f
mov ebx, esp
mov dword [ebp - 0x53c], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
lea ecx, [ebp - 0x530]
call fcn.00402e50
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x530]
push dword [0x59fbf0]
push str.android_data_disk.vdi
push esi
push 0x568760
push eax
call fcn.004023f0
add esp, 0x14
lea ecx, [ebp - 0x264]
push dword [ebp - 0x530]
call fcn.00404170
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x294]
push dword [ebp - 0x544]
call fcn.00404170
push 1
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x294]
call fcn.004cddd0
add esp, 4
lea ecx, [ebp - 0x294]
call fcn.00403110
lea ecx, [ebp - 0x264]
call fcn.00403110
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
mov eax, dword [0x59fbf4]
cmp dword [eax - 0xc], 0
je 0x513e8c
push str.TVM_0.tbox
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x538]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x42
call fcn.00401f90
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf4]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x43
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5686e8
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x44
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf4]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x45
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x5687d8
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x46
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x5687dc
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x47
mov ebx, esp
mov dword [ebp - 0x530], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
push str.TVM_MUL.tbox
lea edx, [ebp - 0x534]
lea ecx, [ebp - 0x53c]
call fcn.00401d60
add esp, 4
push eax
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x48
call fcn.00401f90
lea ecx, [ebp - 0x53c]
mov byte [ebp - 4], 0x25
call fcn.00402ed0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf4]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x54c], esp
push str.android_sdcard_disk.vdi
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x4a
mov ebx, esp
mov dword [ebp - 0x538], ebx
mov ecx, dword [ebp - 0x540]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f79a0
push ecx
mov ebx, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x54c], ebx
mov ecx, dword [0x59fbf4]
add ecx, 0xfffffff0
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x4b
mov ecx, esp
mov dword [ebp - 0x54c], esp
push 0x568858
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x4c
mov ecx, esp
mov dword [ebp - 0x538], esp
push 0x56885c
call fcn.00401ff0
push ecx
mov byte [ebp - 4], 0x4d
mov ebx, esp
mov dword [ebp - 0x53c], ebx
mov ecx, dword [ebp - 0x540]
lea ecx, [ecx - 0x10]
call fcn.004021e0
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 0x25
call fcn.004f7200
lea ecx, [ebp - 0x530]
call fcn.00402e50
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x530]
push dword [0x59fbf4]
push 0x5687e0
push esi
push str.setuuid___filename___s_s____uuid__s
push eax
call fcn.004023f0
add esp, 0x14
lea ecx, [ebp - 0x264]
push dword [ebp - 0x530]
call fcn.00404170
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x294]
push dword [ebp - 0x544]
call fcn.00404170
push 1
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x294]
call fcn.004cddd0
add esp, 4
lea ecx, [ebp - 0x294]
call fcn.00403110
lea ecx, [ebp - 0x264]
call fcn.00403110
lea ecx, [ebp - 0x530]
call fcn.00402ed0
cmp dword [0x59fb94], 0
je 0x513f0d
lea ecx, [ebp - 0x53c]
call fcn.00402e50
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x53c]
push dword [0x59fb90]
push esi
push str._sTVM__d.tbox
push eax
call fcn.004023f0
add esp, 0x10
lea ecx, [ebp - 0x530]
call fcn.00402e50
push esi
lea eax, [ebp - 0x530]
mov byte [ebp - 4], 0x51
push str._sTVM_0.tbox
push eax
call fcn.004023f0
add esp, 0xc
push 1
push dword [ebp - 0x53c]
push dword [ebp - 0x530]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [ebp - 0x530]
call fcn.00402ed0
lea ecx, [ebp - 0x53c]
call fcn.00402ed0
lea ecx, [ebp - 0x544]
call fcn.00402ed0
lea ecx, [ebp - 0x540]
call fcn.00402ed0
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0xd
call fcn.00402ed0
mov ebx, dword [ebp - 0x560]
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x544], 0
mov esi, dword [eax + 0x70]
cmp esi, dword [eax + 0x74]
je 0x5142af
nop dword [eax]
nop dword [eax + eax]
push dword [esi]
lea ecx, [ebp - 0x24c]
call fcn.00405170
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x51429d
mov eax, dword [esi + 4]
cmp dword [eax - 0xc], 0
je 0x513fb7
push 0x568860
lea ecx, [ebp - 0x27c]
call fcn.00404070
push dword [esi + 4]
lea ecx, [ebp - 0x27c]
call fcn.00404070
inc dword [ebp - 0x544]
lea ecx, [ebp - 0x4c4]
call fcn.00429390
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 0xe
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x55c]
sub eax, dword [ecx + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x430], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x5140ac
mov ecx, eax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x514070
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x51408c
xor eax, eax
jmp 0x5140ac
lea ebx, [ecx + ecx]
mov eax, ebx
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push ebx
call fcn.0042d380
mov ebx, dword [ebp - 0x560]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0xd
call fcn.0042a2e0
push 1
lea edx, [ebp - 0x27c]
lea ecx, [ebp - 0x24c]
call fcn.004cddd0
add esp, 4
mov dword [ebp - 0x53c], eax
lea ecx, [ebp - 0x4c4]
call fcn.00429390
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x4c4], 0x64
mov dword [ebp - 0x4bc], 7
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x438], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x55c]
sub eax, dword [ecx + 0x38]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x430], eax
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x42c], eax
mov eax, dword [0x59fadc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [edi + 0x494]
mov dword [ebp - 0x3a8], eax
mov eax, dword [edi + 0x498]
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x59fae0]
mov dword [ebp - 0x394], eax
mov eax, dword [edi + 0x4a0]
mov dword [ebp - 0x390], eax
lea eax, [edi + 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [ebp - 0x38c], eax
mov eax, dword [edi + 0x478]
test eax, eax
je 0x5141f1
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5141b5
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x5141d1
xor eax, eax
jmp 0x5141f1
lea ebx, [ecx + ecx]
mov eax, ebx
call fcn.0049bc00
mov edx, dword [edi + 0x478]
mov ecx, esp
push 3
push ebx
call fcn.0042d380
mov ebx, dword [ebp - 0x560]
push eax
lea ecx, [ebp - 0x424]
call fcn.00406270
push ecx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0044c609
mov ecx, eax
call fcn.0042af00
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0xd
call fcn.0042a2e0
mov ecx, dword [ebp - 0x53c]
test ecx, ecx
jne 0x5143b2
lea eax, [ebp - 0x538]
mov dword [ebp - 0x538], ebx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [edi + 0x424]
call fcn.0042be10
mov eax, dword [ebp - 0x224]
lea ecx, [edi + 0x424]
mov dword [eax + 0x18], 1
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x550]
mov dword [ebp - 0x538], ebx
push eax
call fcn.0042be10
mov eax, dword [ebp - 0x550]
mov ecx, edi
mov edx, dword [edi]
mov eax, dword [eax + 0x54]
push eax
push 3
mov dword [edi + 0x400], eax
call dword [edx + 0x1c]
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0xa4]
mov eax, dword [ebp - 0x55c]
add esi, 8
cmp esi, dword [eax + 0x74]
jne 0x513f60
mov eax, dword [ebp - 0x548]
cmp dword [eax - 0xc], 0
je 0x5142c2
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push dword [edi + 0x400]
push dword [edi + 0x4c4]
push ebx
push 0x5688a8
push str.__s__End_Install_CompId__d__LastErrorCode__d__curStep__d_
call fcn.004e78a0
push eax
call fcn.004e76a0
add esp, 0x18
lea ecx, [ebp - 0x52c]
push 0x1115
push 0x568ab0
push str.GameDownload::CMainUI::InstallComponent
call fcn.00428d70
mov esi, eax
push 0
push 0x447da6
lea ecx, [edi + 0x408]
mov byte [ebp - 4], 0x56
call fcn.0042ad30
push eax
mov edx, esi
mov ecx, 3
call fcn.00508bc0
add esp, 4
lea ecx, [ebp - 0x52c]
call fcn.00428f50
lea ecx, [ebp - 0x554]
call fcn.00402ed0
lea ecx, [ebp - 0x548]
call fcn.00402ed0
mov eax, dword [ebp - 0x268]
cmp eax, 8
jb 0x514368
inc eax
lea ecx, [ebp - 0x27c]
push eax
push dword [ebp - 0x27c]
call fcn.00403010
xor eax, eax
mov dword [ebp - 0x268], 7
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x26c], 0
mov word [ebp - 0x27c], ax
call fcn.00403110
lea esp, [ebp - 0x574]
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.0049aa22
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x55c]
mov eax, dword [esi + 0x5c]
cmp eax, 5
jae 0x514467
inc eax
lea ecx, [ebp - 0x53c]
mov dword [esi + 0x5c], eax
dec dword [edi + 0x464]
call fcn.00402e50
mov byte [ebp - 4], 0x54
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [esi + 0x6c]
lea eax, [ebp - 0x53c]
push 0x568864
push eax
call fcn.004023f0
add esp, 0x10
lea eax, [ebp - 0x53c]
lea ecx, [esi + 0x6c]
push eax
call fcn.00401f90
push 0x10eb
push 0x5689a0
push 0x5689f8
lea ecx, [ebp - 0x4f8]
call fcn.00428d70
mov esi, eax
push 0
push 0x447da6
lea ecx, [edi + 0x408]
mov byte [ebp - 4], 0x55
call fcn.0042ad30
push eax
mov edx, esi
mov ecx, 3
call fcn.00508bc0
add esp, 4
lea ecx, [ebp - 0x4f8]
call fcn.00428f50
lea ecx, [ebp - 0x53c]
call fcn.00402ed0
jmp 0x514334
mov eax, dword [esi + 0x50]
mov dword [edi + 0x400], eax
mov eax, dword [edi]
push ecx
mov dword [edi + 0x4c4], ecx
mov ecx, edi
push ebx
call dword [eax + 0x94]
jmp 0x514334