Function at 0x4020a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5d4
mov eax, dword [0x42e294]
xor eax, ebp
mov dword [ebp - 8], eax
mov byte [ebp - 0x111], 0
push 0x4274e8
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412a90
add esp, 8
test eax, eax
je 0x4020e4
push str._shortcut
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00412a90
add esp, 8
test eax, eax
jne 0x4020eb
mov byte [ebp - 0x111], 1
push 0x104
push 0x42f710
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x402108
xor eax, eax
jmp 0x4025a9
push 0x5c
push 0x42f710
call fcn.00401200
add esp, 8
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
jne 0x40212d
xor eax, eax
jmp 0x4025a9
mov edx, dword [ebp - 0x118]
mov byte [edx], 0
push 0x42f710
push str._sMobileCache
push 0x42f608
call fcn.0041269a
add esp, 0xc
push 0
push 0x42f608
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x42f608
lea eax, [ebp - 0x110]
push eax
call fcn.00412720
add esp, 8
push str.MKGInstall.log
lea ecx, [ebp - 0x110]
push ecx
call fcn.00412730
add esp, 8
push 1
lea edx, [ebp - 0x110]
push edx
mov ecx, 0x42faf8
call fcn.004013f0
mov ecx, 0x42faf8
call fcn.004014d0
call fcn.00402c10
test eax, eax
jne 0x4021c1
push 0x427520
push 0x42faf8
call fcn.00401560
add esp, 8
xor eax, eax
jmp 0x4025a9
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x42fc08
call fcn.00407950
push 0x42f608
mov ecx, 0x42fc08
call fcn.004079c0
test eax, eax
jne 0x402239
push 0x427538
push 0x42faf8
call fcn.00401560
add esp, 8
push 0x4274f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00412a90
add esp, 8
test eax, eax
je 0x40221e
movzx edx, byte [ebp - 0x111]
test edx, edx
je 0x402232
push 0
push 0x42754c
push 0x427558
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x4025a9
mov ecx, 0x42fc08
call fcn.00402ce0
test eax, eax
je 0x402354
lea ecx, [ebp - 0x370]
call fcn.00401680
push 0
lea ecx, [ebp - 0x370]
call fcn.00402cc0
push 0x4274f3
mov eax, dword [ebp + 0x10]
push eax
call fcn.00412a90
add esp, 8
test eax, eax
je 0x402283
movzx ecx, byte [ebp - 0x111]
test ecx, ecx
je 0x4022a5
push 1
mov edx, dword [ebp + 8]
push edx
push SysReAllocString
push 0x427588
push 0x427594
lea ecx, [ebp - 0x370]
call fcn.00401700
jmp 0x4022c5
push 0
mov eax, dword [ebp + 8]
push eax
push SysReAllocString
push 0x4275a4
push 0x4275b0
lea ecx, [ebp - 0x370]
call fcn.00401700
lea ecx, [ebp - 0x370]
call fcn.00401aa0
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea ecx, [ebp - 0x370]
call fcn.004019e0
mov ecx, 0x42fc08
call fcn.00402d00
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x402334
mov ecx, dword [ebp - 0x11c]
push ecx
push 0x4275c0
push 0x42faf8
call fcn.00401560
add esp, 0xc
mov dword [ebp - 0x5cc], 0
lea ecx, [ebp - 0x370]
call fcn.004016c0
mov eax, dword [ebp - 0x5cc]
jmp 0x4025a9
mov dword [ebp - 0x5d0], 0
lea ecx, [ebp - 0x370]
call fcn.004016c0
mov eax, dword [ebp - 0x5d0]
jmp 0x4025a9
mov ecx, 0x42fc08
call fcn.0040bc80
test eax, eax
je 0x40245a
lea ecx, [ebp - 0x5c8]
call fcn.00401680
push 1
lea ecx, [ebp - 0x5c8]
call fcn.00402cc0
push 0x4274fe
mov edx, dword [ebp + 0x10]
push edx
call fcn.00412a90
add esp, 8
test eax, eax
je 0x40239e
movzx eax, byte [ebp - 0x111]
test eax, eax
je 0x4023c0
push 1
mov ecx, dword [ebp + 8]
push ecx
push SysReAllocString
push 0x4275d8
push 0x4275e4
lea ecx, [ebp - 0x5c8]
call fcn.00401700
jmp 0x4023e0
push 0
mov edx, dword [ebp + 8]
push edx
push SysReAllocString
push str.KuGouMobile
push str.KuGouMainWnd
lea ecx, [ebp - 0x5c8]
call fcn.00401700
lea ecx, [ebp - 0x5c8]
call fcn.00401aa0
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea ecx, [ebp - 0x5c8]
call fcn.004019e0
mov ecx, 0x42fc08
call fcn.00402d00
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
je 0x40244f
mov eax, dword [ebp - 0x374]
push eax
push 0x427610
push 0x42faf8
call fcn.00401560
add esp, 0xc
mov dword [ebp - 0x5d4], 0
lea ecx, [ebp - 0x5c8]
call fcn.004016c0
mov eax, dword [ebp - 0x5d4]
jmp 0x4025a9
lea ecx, [ebp - 0x5c8]
call fcn.004016c0
mov ecx, dword [ebp + 8]
mov dword [0x42f958], ecx
push 0x42f958
call fcn.004026c0
add esp, 4
test eax, eax
jne 0x40248d
push 0x427628
push 0x42faf8
call fcn.00401560
add esp, 8
xor eax, eax
jmp 0x4025a9
push 0x42f964
mov edx, dword [0x42f960]
push edx
mov eax, dword [0x42f95c]
push eax
push 0x427634
push 0x42faf8
call fcn.00401560
add esp, 0x14
mov dword [ebp - 4], 0
call fcn.00402b30
test eax, eax
je 0x402546
movzx ecx, byte [ebp - 0x111]
test ecx, ecx
je 0x4024e4
push 0x427654
push 0x42f964
call fcn.00412720
add esp, 8
jmp 0x4024f6
push 0x427658
push 0x42f964
call fcn.00412720
add esp, 8
push str.BeginInstall
push 0x42faf8
call fcn.00401560
add esp, 8
push 0x42f964
mov edx, dword [0x42f960]
push edx
mov eax, dword [0x42f95c]
push eax
call dword [0x42fae8]
add esp, 0xc
call dword [0x42faec]
mov dword [ebp - 4], eax
call dword [0x42faf0]
push str.EndInstall
push 0x42faf8
call fcn.00401560
add esp, 8
jmp 0x402558
push 0x427678
push 0x42faf8
call fcn.00401560
add esp, 8
push 0x42f964
mov ecx, dword [0x42f960]
push ecx
mov edx, dword [0x42f95c]
push edx
push 0x427690
push 0x42faf8
call fcn.00401560
add esp, 0x14
push str.Finish_Logs_Writting.
push 0x42faf8
call fcn.00401560
add esp, 8
mov ecx, 0x42faf8
call fcn.00401600
call fcn.00402ca0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xfff
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041234d
mov esp, ebp
pop ebp
ret 0x10