Function at 0x4729a5
Capabilities:
Create directory

Disassembly:
push ebp
sub esp, 0x6c
mov eax, 0x6985c3
call fcn.006375a8
sub esp, 0x238
push ebx
mov byte [ebp + 0x4f], 1
call fcn.00475cf1
xor ebx, ebx
mov byte [0x7a0080], 1
mov dword [ebp - 4], ebx
cmp byte [0x79ef69], bl
je 0x47308c
push esi
push edi
call fcn.0049251c
push 0x14
call fcn.00637305
pop ecx
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x472a00
mov ecx, eax
call fcn.004280b5
mov esi, eax
jmp 0x472a02
mov esi, ebx
mov dword [ebp + 0x58], esi
mov byte [ebp - 4], bl
mov dword [ebp + 0x54], esi
test esi, esi
je 0x472a15
mov eax, dword [esi]
push esi
call dword [eax + 4]
cmp word [0x79ef80], 0
mov byte [ebp - 4], 3
jne 0x472a82
push 0x104
lea eax, [ebp - 0x244]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
test eax, eax
je 0x472a67
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.0045eccb
cmp dword [ebp + 0x44], 8
mov eax, dword [ebp + 0x30]
jae 0x472a56
lea eax, [ebp + 0x30]
push eax
call fcn.00471d69
push ebx
push 1
lea ecx, [ebp + 0x30]
call fcn.004267c2
cmp word [0x79ef80], 0
jne 0x472a82
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [0x7a3ad4], eax
mov dword [0], ebx
push 0x6b7f2c
lea eax, [ebp - 0x24]
push eax
call fcn.00470ce5
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 4
jae 0x472aa0
lea eax, [ebp - 0x24]
push esi
push 0x45bdbf
push eax
call fcn.0046bfd2
cmp eax, 1
jg 0x472ac8
cmp byte [esi + 0x10], 5
je 0x472af9
push 0x14
call fcn.00637305
pop ecx
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 5
jmp 0x472ad7
push 0x14
call fcn.00637305
pop ecx
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x472ae4
mov ecx, eax
call fcn.004280b5
jmp 0x472ae6
mov eax, ebx
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 4
call fcn.004738ee
mov esi, dword [ebp + 0x54]
mov dword [ebp + 0x58], esi
mov eax, dword [esi + 8]
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x60], ebx
jmp 0x472b15
inc ebx
cmp ebx, 1
jbe 0x472b15
cmp ebx, 2
jne 0x472b12
inc dword [ebp + 0x64]
inc dword [ebp + 0x60]
mov edi, dword [eax + 4]
mov ecx, esi
push str.file_guard
call fcn.0045c04f
mov eax, dword [esi + 8]
cmp edi, dword [eax + 4]
jne 0x472b04
xor ebx, ebx
jmp 0x472b41
inc ebx
cmp ebx, 1
jbe 0x472b41
cmp ebx, 2
jne 0x472b3e
inc dword [ebp + 0x64]
inc dword [ebp + 0x60]
mov edi, dword [eax + 4]
mov ecx, esi
push str..fileguard
call fcn.0045c04f
mov eax, dword [esi + 8]
cmp edi, dword [eax + 4]
jne 0x472b30
cmp dword [0x7a63b0], 0
je 0x472b6b
push 0x7a63a0
call fcn.0047cf8f
push dword [0x7a00a8]
call fcn.004cf397
mov ebx, eax
xor edi, edi
mov ecx, dword [ebx]
xor edx, edx
sub ecx, dword [edi + 0x79fc58]
sbb edx, dword [edi + 0x79fc5c]
add dword [edi + 0x79fc08], ecx
adc dword [edi + 0x79fc0c], edx
xor ecx, ecx
mov eax, dword [ebx + 0x14]
sub eax, dword [edi + 0x79fc30]
sbb ecx, dword [edi + 0x79fc34]
add dword [edi + 0x79fbe0], eax
adc dword [edi + 0x79fbe4], ecx
mov eax, dword [ebx]
lea ebx, [ebx + 4]
and dword [edi + 0x79fc5c], 0
mov dword [edi + 0x79fc58], eax
mov eax, dword [ebx + 0x10]
and dword [edi + 0x79fc34], 0
mov dword [edi + 0x79fc30], eax
add edi, 8
cmp edi, 0x28
jb 0x472b7a
xor ebx, ebx
mov dword [ebp + 0x48], ebx
call fcn.0047374e
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
test ecx, ecx
je 0x472f2c
call fcn.0047374e
mov eax, dword [eax]
mov eax, dword [eax + ebx*4]
mov dword [ebp + 0x5c], eax
mov eax, dword [eax + 8]
jmp 0x472f00
mov eax, dword [esi + 8]
and dword [ebp + 0x68], 0
mov edi, dword [eax + 4]
jmp 0x472c32
mov eax, dword [ebp + 0x68]
inc eax
mov dword [ebp + 0x68], eax
cmp eax, 1
jbe 0x472c2f
cmp eax, 2
jne 0x472c2c
inc dword [ebp + 0x64]
inc dword [ebp + 0x60]
mov edi, dword [ecx + 4]
push ebx
mov ecx, esi
call fcn.0045c04f
mov ecx, dword [esi + 8]
cmp edi, dword [ecx + 4]
jne 0x472c18
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x50]
mov ebx, dword [eax]
movzx eax, word [ecx + 8]
add ebx, dword [ecx + 4]
and eax, 0xf
cmp eax, 7
ja 0x472d86
je 0x472d50
test eax, eax
je 0x472d1a
cmp eax, 3
jbe 0x472ccc
cmp eax, 4
je 0x472cb9
cmp eax, 5
je 0x472c97
cmp eax, 6
jne 0x472efa
push dword [ebx + 4]
mov ecx, esi
push dword [ebx]
push dword [ebp + 0x6c]
call fcn.0045ca0c
jmp 0x472efa
test ebx, ebx
je 0x472efa
cmp dword [ebx], 0
je 0x472efa
cmp dword [ebx + 4], 0
je 0x472efa
push dword [ebx + 4]
push dword [ebx]
jmp 0x472cbd
push dword [ecx + 0xc]
push ebx
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045cb41
jmp 0x472efa
cmp eax, 2
je 0x472cd6
cmp eax, 3
jne 0x472cdb
movzx edi, byte [ebx]
jmp 0x472cdd
mov edi, dword [ebx]
cmp dword [ecx + 4], 0x1af
je 0x472d0a
push ecx
call fcn.00470759
mov ecx, eax
mov ebx, edx
mov eax, edi
cdq
cmp eax, ecx
jne 0x472d0a
cmp edx, ebx
jne 0x472d0a
mov ecx, esi
push dword [ebp + 0x6c]
call fcn.0045c04f
jmp 0x472efa
push edi
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045ca7c
jmp 0x472efa
push dword [ecx + 0x10]
lea eax, [ebp]
push eax
call fcn.00427922
push eax
mov ecx, ebx
call fcn.00437447
push 0
push 1
lea ecx, [ebp]
mov edi, eax
call fcn.004267c2
mov ecx, esi
test edi, edi
je 0x472cfd
push ebx
push dword [ebp + 0x6c]
call fcn.0045cbc3
jmp 0x472efa
push dword [ecx + 0x10]
lea eax, [ebp]
push eax
call fcn.00464b57
push eax
mov ecx, ebx
call fcn.0040e4d4
push 0
push 1
lea ecx, [ebp]
mov edi, eax
call fcn.0040daff
mov ecx, esi
test edi, edi
je 0x472cfd
push ebx
push dword [ebp + 0x6c]
call fcn.0045cba6
jmp 0x472efa
sub eax, 8
je 0x472e92
sub eax, 1
je 0x472e4b
sub eax, 1
je 0x472dc1
sub eax, 5
jne 0x472efa
push 1
push ebx
push 0xffffffffffffffff
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045c9b4
push eax
mov eax, dword [ebp + 0x50]
call dword [eax + 0x18]
jmp 0x472efa
push 0xffffffffffffffff
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045c9b4
mov ecx, dword [ebx]
mov dword [ebp + 0x6c], eax
mov edx, dword [ecx]
mov dword [ebp + 0x68], edx
cmp edx, ecx
je 0x472efa
mov esi, eax
lea edi, [edx + 0x10]
push edi
lea eax, [ebp + 0x30]
push eax
call fcn.00470723
lea eax, [edi + 0x18]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp]
push eax
call fcn.00470723
cmp dword [ebp + 0x44], 0x10
mov eax, dword [ebp + 0x30]
mov byte [ebp - 4], 0xa
jae 0x472e0f
lea eax, [ebp + 0x30]
lea ecx, [ebp]
push ecx
push eax
mov ecx, esi
call fcn.0045cba6
push 0
push 1
lea ecx, [ebp]
call fcn.0040daff
push 0
push 1
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 4
call fcn.0040daff
lea ecx, [ebp + 0x68]
call fcn.005a78a8
mov edx, dword [ebp + 0x68]
cmp edx, dword [ebx]
jne 0x472de1
jmp 0x472ef7
push 0xffffffffffffffff
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045c9b4
mov ecx, dword [ebx]
mov edi, eax
mov edx, dword [ecx]
mov dword [ebp + 0x68], edx
cmp edx, ecx
je 0x472efa
cmp dword [edx + 0x24], 0x10
jb 0x472e73
mov eax, dword [edx + 0x10]
jmp 0x472e76
lea eax, [edx + 0x10]
push dword [edx + 0x28]
mov ecx, edi
push eax
call fcn.0045ca7c
lea ecx, [ebp + 0x68]
call fcn.005a78a8
mov edx, dword [ebp + 0x68]
cmp edx, dword [ebx]
jne 0x472e68
jmp 0x472efa
push 0xffffffffffffffff
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0045cae9
xor edi, edi
mov dword [ebp + 0x68], eax
cmp dword [ebx + 0x10], edi
je 0x472efa
mov esi, eax
lea ecx, [ebp + 0x34]
call fcn.0045b694
push edi
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.005302e7
cmp dword [eax + 0x14], 8
jb 0x472ec6
mov eax, dword [eax]
push eax
lea ecx, [ebp + 0x34]
call fcn.0045d4d2
lea eax, [ebp + 0x34]
mov ecx, esi
push eax
call fcn.0045ba72
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 8
mov dword [ebp + 0x34], 0x6b6d70
call fcn.0045c38d
inc edi
mov byte [ebp - 4], 4
cmp edi, dword [ebx + 0x10]
jne 0x472eaa
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x50]
add eax, 0x1c
mov ebx, dword [eax]
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x50], eax
test ebx, ebx
jne 0x472c0c
mov ebx, dword [ebp + 0x48]
inc ebx
mov dword [ebp + 0x48], ebx
call fcn.0047374e
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
cmp ebx, ecx
jb 0x472bf7
push 0xffffffffffffffff
push str.peakrate
mov ecx, esi
call fcn.0045c9b4
push eax
call fcn.0048df42
push esi
call fcn.0048dfd4
push esi
call fcn.004cfaa9
push 0xffffffffffffffff
push str.apps
mov ecx, esi
call fcn.0045c9b4
push eax
call fcn.0048dece
push 0xffffffffffffffff
push str.installs
mov ecx, esi
call fcn.0045cae9
push eax
call fcn.00482779
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.0045d1d0
push esi
mov byte [ebp - 4], 0xb
call fcn.004abca9
cmp byte [0x7a0098], 0
jne 0x472fb0
xor eax, eax
cmp ax, word [0x79ef80]
je 0x472fb0
push eax
push 0x79ef80
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
mov byte [0x7a0098], 1
push 0x6b7f2c
lea eax, [ebp + 0x18]
push eax
call fcn.00470ce5
mov byte [ebp - 4], 0xc
call fcn.00460941
push 0x14
mov dword [0x79f188], eax
mov dword [0x79f18c], edx
call fcn.00637305
pop ecx
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x472ff0
mov ecx, eax
call fcn.004280b5
mov edi, eax
jmp 0x472ff2
xor edi, edi
mov byte [ebp - 4], 0xc
mov dword [ebp + 0x5c], edi
test edi, edi
je 0x473003
mov eax, dword [edi]
push edi
call dword [eax + 4]
cmp dword [ebp + 0x2c], 8
mov eax, dword [ebp + 0x18]
mov byte [ebp - 4], 0xe
jae 0x473013
lea eax, [ebp + 0x18]
push edi
push 0x45bdbf
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.0046c54a
or byte [0x79ef68], al
mov ecx, dword [ebp + 0x64]
test ecx, ecx
je 0x47304e
cmp dword [ebp + 0x2c], 8
mov eax, dword [ebp + 0x18]
jae 0x47303c
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x60]
push ecx
push str.Settings_integrity_check_failed__duplicate_keys:__d_count:__d___repaired:__s
call fcn.00479c3c
add esp, 0x10
mov byte [ebp - 4], 0xf
test edi, edi
je 0x47305c
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0
push 1
lea ecx, [ebp + 0x18]
call fcn.004267c2
push 0
push 1
lea ecx, [ebp - 0x3c]
call fcn.0040daff
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.004267c2
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 0x10
call dword [eax + 8]
pop edi
pop esi
mov dword [ebp - 4], 0x11
call fcn.00475d32
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
lea esp, [ebp + 0x70]
pop ebp
ret