Function at 0x10002510
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
mov eax, dword [0x10014018]
xor eax, ebp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x454], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x1000254e
push 1
push 0x1001129c
mov ecx, dword [ebp - 0x454]
call sym.AdbManager.dll_public:_bool___thiscall_CAdbClient::ShellCommand_char_const___bool_
movzx ecx, al
test ecx, ecx
jne 0x1000254e
mov byte [ebp + 0xc], 0
cmp dword [ebp + 8], 0
je 0x1000255e
mov edx, dword [ebp + 8]
movzx eax, word [edx]
test eax, eax
jne 0x10002565
xor al, al
jmp 0x100029c7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x454]
call sym.AdbManager.dll_private:_char_const____thiscall_CAdbClient::CheckLocalApkPath_wchar_t_const__
mov dword [ebp - 0x20], eax
movzx edx, byte [ebp + 0x1c]
push edx
push 0
call fcn.1000bb60
add esp, 8
mov eax, dword [0x10025624]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov al, byte [ebp + 0x10]
mov byte [edx + 4], al
mov dword [ebp - 4], 0
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x448], 0
push 0x40f
push 0
lea ecx, [ebp - 0x447]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x448]
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x344]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x240]
mov dword [ebp - 0xc], ecx
lea edx, [ebp - 0x13c]
mov dword [ebp - 8], edx
lea eax, [ebp - 0x448]
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x2c], ecx
lea edx, [ebp - 0x240]
mov dword [ebp - 0x28], edx
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x104
lea edx, [ebp + ecx - 0x448]
mov dword [ebp - 0x458], edx
push str.install
push 0x104
mov eax, dword [ebp - 0x458]
push eax
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x104
lea eax, [ebp + edx - 0x448]
mov dword [ebp - 0x45c], eax
push 0x100112b0
push 0x104
mov ecx, dword [ebp - 0x45c]
push ecx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x100026c7
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x104
lea edx, [ebp + ecx - 0x448]
mov dword [ebp - 0x460], edx
push 0x100112b4
push 0x104
mov eax, dword [ebp - 0x460]
push eax
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x10002700
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x104
lea eax, [ebp + edx - 0x448]
mov dword [ebp - 0x464], eax
push 0x100112b8
push 0x104
mov ecx, dword [ebp - 0x464]
push ecx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
imul eax, eax, 0x104
lea ecx, [ebp + eax - 0x448]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x20]
push edx
push 0x104
mov eax, dword [ebp - 0x468]
push eax
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10005610
mov ecx, eax
call fcn.100061e0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x10002920
movzx edx, byte [ebp + 0x18]
test edx, edx
je 0x1000291c
lea eax, [ebp - 0x240]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x46c], 0x100112bc
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x470]
mov al, byte [edx]
mov byte [ebp - 0x471], al
mov ecx, dword [ebp - 0x46c]
cmp al, byte [ecx]
jne 0x100027e9
cmp byte [ebp - 0x471], 0
je 0x100027dd
mov edx, dword [ebp - 0x470]
mov al, byte [edx + 1]
mov byte [ebp - 0x472], al
mov ecx, dword [ebp - 0x46c]
cmp al, byte [ecx + 1]
jne 0x100027e9
add dword [ebp - 0x470], 2
add dword [ebp - 0x46c], 2
cmp byte [ebp - 0x472], 0
jne 0x1000278b
mov dword [ebp - 0x478], 0
jmp 0x100027f4
sbb edx, edx
sbb edx, 0xffffffff
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0
jne 0x10002828
push 0x100112c0
push 0x104
lea ecx, [ebp - 0x240]
push ecx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
jmp 0x100028d6
mov dword [ebp - 0x480], 0x100112c4
mov edx, dword [ebp - 0x44c]
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0x484]
mov cl, byte [eax]
mov byte [ebp - 0x485], cl
mov edx, dword [ebp - 0x480]
cmp cl, byte [edx]
jne 0x1000289c
cmp byte [ebp - 0x485], 0
je 0x10002890
mov eax, dword [ebp - 0x484]
mov cl, byte [eax + 1]
mov byte [ebp - 0x486], cl
mov edx, dword [ebp - 0x480]
cmp cl, byte [edx + 1]
jne 0x1000289c
add dword [ebp - 0x484], 2
add dword [ebp - 0x480], 2
cmp byte [ebp - 0x486], 0
jne 0x1000283e
mov dword [ebp - 0x48c], 0
jmp 0x100028a7
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x48c]
mov dword [ebp - 0x490], ecx
cmp dword [ebp - 0x490], 0
jne 0x100028d6
push 0x100112c8
push 0x104
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
mov eax, dword [0x10025624]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
movzx eax, byte [edx + 4]
test eax, eax
je 0x10002901
mov ecx, dword [0x10025624]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov byte [eax + 4], 0
push 0
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10005610
mov ecx, eax
call fcn.100061e0
mov dword [ebp - 4], eax
jmp 0x10002920
jmp 0x10002985
cmp dword [ebp - 4], 0
je 0x10002979
push str.MuServer
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCR100.dll_wcsstr]
add esp, 8
test eax, eax
je 0x10002968
push 1
push str.cd__data_data_com.mobogenie.assistant
mov ecx, dword [ebp - 0x454]
call sym.AdbManager.dll_public:_bool___thiscall_CAdbClient::ShellCommand_char_const___bool_
movzx ecx, al
test ecx, ecx
jne 0x10002966
push 0
push 0x196
call fcn.1000bb60
add esp, 8
jmp 0x10002985
jmp 0x10002979
push 0
push 0x196
call fcn.1000bb60
add esp, 8
jmp 0x10002985
mov byte [ebp - 0x19], 1
xor edx, edx
jne 0x10002684
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx]
test edx, edx
je 0x1000299b
mov eax, dword [ebp - 0x454]
mov byte [eax], 0
cmp dword [ebp - 0x20], 0
je 0x100029c4
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x450]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov al, byte [ebp - 0x19]
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.1000d8d6
mov esp, ebp
pop ebp
ret 0x18