Function at 0x43cd90
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x5603e8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x20a]
push ecx
mov esi, 0x80004005
mov word [ebp - 0x20c], ax
call sub.MSVCR100.dll_memset
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
dec eax
add esp, 0xc
cmp eax, 6
ja case.0x43cddf.2
jmp dword [eax*4 + 0x43d2d4]
movzx eax, byte [ebp + 0xc]
lea edx, [ebp - 0x20c]
push edx
push eax
call fcn.0043ccd0
add esp, 8
push 0
lea ecx, [ebp - 0x20c]
push ecx
mov esi, eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43ce10
mov edx, dword [str.Kingsoft_]
mov ecx, dword [0x4d2984]
mov dword [eax], edx
mov edx, dword [0x4d2988]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d298c]
mov dword [eax + 8], edx
mov edx, dword [0x4d2990]
mov dword [eax + 0xc], ecx
mov cx, word [0x4d2994]
mov dword [eax + 0x10], edx
push 0
lea edx, [ebp - 0x20c]
push edx
mov word [eax + 0x14], cx
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
jmp 0x43ce70
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43ce70
mov ecx, dword [0x4d2970]
mov edx, dword [0x4d2974]
mov dword [eax], ecx
mov ecx, dword [0x4d2978]
mov dword [eax + 4], edx
mov edx, dword [0x4d297c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp case.0x43cddf.2
call fcn.0043c7f0
test eax, eax
jne 0x43cf6a
mov esi, dword [ebp + 0x18]
cmp esi, 3
jne 0x43ced1
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b12f6
mov esp, ebp
pop ebp
ret 0x14
lea ecx, [ebp - 0x20d]
call fcn.004331f0
mov eax, esi
sub eax, 0
je 0x43cefe
dec eax
je 0x43cef7
dec eax
je 0x43cef0
mov eax, 4
jmp 0x43cf03
mov eax, 6
jmp 0x43cf03
mov eax, 7
jmp 0x43cf03
mov eax, 5
push 0x4c79ac
lea ecx, [ebp - 0x214]
push ecx
push str.AutoRecoverFilePath
push 0x4c9438
push eax
mov dword [ebp - 0x214], 0
call fcn.00433c30
mov edx, dword [ebp - 0x214]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
mov eax, dword [ebp - 0x214]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.MSVCR100.dll_wcsncpy]
mov edx, dword [ebp - 0x214]
add esp, 0xc
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0x20d], 0
je 0x43cf6a
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43cf73
sub eax, edx
sar eax, 1
jne 0x43d087
movzx ecx, byte [ebp + 0xc]
lea eax, [ebp - 0x20c]
push eax
push ecx
call fcn.0043ccd0
add esp, 8
push 0
lea edx, [ebp - 0x20c]
push edx
mov esi, eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43cfb2
mov ecx, dword [str.Kingsoft_]
mov edx, dword [0x4d2984]
mov dword [eax], ecx
mov ecx, dword [0x4d2988]
mov dword [eax + 4], edx
mov edx, dword [0x4d298c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d2990]
mov dword [eax + 0xc], edx
mov dx, word [0x4d2994]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
push 0
lea eax, [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
lea esp, [esp]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d010
mov ecx, dword [0x4d2970]
mov edx, dword [0x4d2974]
mov dword [eax], ecx
mov ecx, dword [0x4d2978]
mov dword [eax + 4], edx
mov edx, dword [0x4d297c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
push 0
lea eax, [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d053
mov ecx, dword [str._backup]
mov edx, dword [0x4d293c]
mov dword [eax], ecx
mov ecx, dword [0x4d2940]
mov dword [eax + 4], edx
mov edx, dword [0x4d2944]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp case.0x43cddf.2
xor esi, esi
jmp case.0x43cddf.2
lea eax, [ebp - 0x20c]
push eax
call fcn.004344f0
add esp, 4
mov esi, eax
jmp case.0x43cddf.2
lea ecx, [ebp - 0x20c]
push ecx
call fcn.00434650
add esp, 4
mov esi, eax
jmp case.0x43cddf.2
movzx eax, byte [ebp + 0xc]
lea edx, [ebp - 0x20c]
push edx
push eax
call fcn.0043ccd0
add esp, 8
push 0
lea ecx, [ebp - 0x20c]
push ecx
mov esi, eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d0e4
mov edx, dword [str.Kingsoft_]
mov ecx, dword [0x4d2984]
mov dword [eax], edx
mov edx, dword [0x4d2988]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d298c]
mov dword [eax + 8], edx
mov edx, dword [0x4d2990]
mov dword [eax + 0xc], ecx
mov cx, word [0x4d2994]
mov dword [eax + 0x10], edx
push 0
lea edx, [ebp - 0x20c]
push edx
mov word [eax + 0x14], cx
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
jmp 0x43d140
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d140
mov ecx, dword [0x4d2930]
mov edx, dword [0x4d2934]
mov dword [eax], ecx
mov dword [eax + 4], edx
push 0
lea eax, [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d171
mov ecx, dword [str._startup]
mov edx, dword [0x4d2780]
mov dword [eax], ecx
mov ecx, dword [0x4d2784]
mov dword [eax + 4], edx
mov edx, dword [0x4d2788]
mov dword [eax + 8], ecx
mov cx, word [0x4d278c]
jmp 0x43d294
movzx eax, byte [ebp + 0xc]
lea edx, [ebp - 0x20c]
push edx
push eax
call fcn.0043ccd0
add esp, 8
push 0
lea ecx, [ebp - 0x20c]
push ecx
mov esi, eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d1d3
mov edx, dword [str.Kingsoft_]
mov ecx, dword [0x4d2984]
mov dword [eax], edx
mov edx, dword [0x4d2988]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d298c]
mov dword [eax + 8], edx
mov edx, dword [0x4d2990]
mov dword [eax + 0xc], ecx
mov cx, word [0x4d2994]
mov dword [eax + 0x10], edx
push 0
lea edx, [ebp - 0x20c]
push edx
mov word [eax + 0x14], cx
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
lea ebx, [ebx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d230
mov ecx, dword [0x4d2930]
mov edx, dword [0x4d2934]
mov dword [eax], ecx
mov dword [eax + 4], edx
push 0
lea eax, [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d261
mov ecx, dword [str.XLSTART]
mov edx, dword [0x4d276c]
mov dword [eax], ecx
mov ecx, dword [0x4d2770]
mov dword [eax + 4], edx
mov edx, dword [0x4d2774]
mov dword [eax + 8], ecx
mov cx, word [0x4d2778]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
push 0x104
lea edx, [ebp - 0x20c]
push edx
push ebx
call dword [sym.imp.MSVCR100.dll_wcsncpy]
add esp, 0xc
push 0
lea eax, [ebp - 0x20c]
push eax
call edi
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b12f6
mov esp, ebp
pop ebp
ret 0x14