Function at 0x417430
Capabilities:
Create directory
Delete file
Get common file path
Move file
Query or enumerate registry value
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1154
call fcn.0041cac0
mov eax, dword [0x440ed0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dl, byte [0x438830]
push ebx
push esi
push edi
xor ebx, ebx
push 0x3ff
mov dword [ebp - 0x113c], eax
mov dword [ebp - 0x112c], ecx
mov ecx, dword [str..log]
lea eax, [ebp - 0x1123]
push ebx
push eax
mov dword [ebp - 0x1138], 0x676f4c
mov dword [ebp - 0xc], ecx
mov byte [ebp - 8], dl
mov esi, 1
mov dword [ebp - 0x1128], ebx
mov byte [ebp - 0x1124], bl
call fcn.0041b530
mov edx, dword [str.SoftwareRealNetworksPreferencesCrashLogOptions]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
add esp, 0xc
lea ecx, [ebp - 0x1128]
push ecx
push esi
push ebx
push edx
push 0x80000001
call edi
test eax, eax
jne 0x417549
push 0xff
lea eax, [ebp - 0x11f]
push ebx
push eax
mov byte [ebp - 0x120], bl
call fcn.0041b530
add esp, 0xc
lea ecx, [ebp - 0x1134]
push ecx
mov ecx, dword [str.NumberOfLogFiles]
lea edx, [ebp - 0x120]
push edx
mov edx, dword [ebp - 0x1128]
lea eax, [ebp - 0x1130]
push eax
push ebx
push ecx
push edx
mov dword [ebp - 0x1130], ebx
mov dword [ebp - 0x1134], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [ebp - 0x1128]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x120]
push ecx
mov dword [ebp - 0x1128], ebx
call fcn.0041bc91
mov esi, eax
lea edx, [esi - 1]
add esp, 4
cmp edx, 0x270f
jbe 0x417549
lea esi, [ebx + 1]
push 0x3ff
lea eax, [ebp - 0x51f]
push ebx
push eax
mov byte [ebp - 0x520], bl
call fcn.0041b530
mov eax, dword [ebp - 0x112c]
add esp, 0xc
mov ecx, 0x436328
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417590
cmp dl, bl
je 0x41758c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417590
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417570
xor eax, eax
jmp 0x417595
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4175b4
mov ecx, dword [ebp - 0x112c]
push 0x400
push ecx
lea edx, [ebp - 0x520]
push edx
call fcn.00415cd0
add esp, 0xc
mov ecx, 0x436328
lea eax, [ebp - 0x520]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4175e0
cmp dl, bl
je 0x4175dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4175e0
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4175c0
xor eax, eax
jmp 0x4175e5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x41764c
mov ecx, dword [str.SoftwareRealNetworksPreferencesUserDataPath]
lea eax, [ebp - 0x1128]
push eax
push 1
push ebx
push ecx
push 0x80000001
call edi
test eax, eax
jne 0x41764c
lea edx, [ebp - 0x1130]
push edx
mov edx, dword [ebp - 0x1128]
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x1134]
push ecx
push ebx
push ebx
push edx
mov dword [ebp - 0x1134], ebx
mov dword [ebp - 0x1130], 0x400
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [ebp - 0x1128]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1128], ebx
mov ecx, 0x436328
lea eax, [ebp - 0x520]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417677
cmp dl, bl
je 0x417673
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417677
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417657
xor eax, eax
jmp 0x41767c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4176ab
push 0x400
lea ecx, [ebp - 0x520]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [ebp - 0x520]
push 0x5c
push edx
call fcn.0041fec0
add esp, 8
cmp eax, ebx
je 0x4176ab
mov byte [eax + 1], bl
lea eax, [ebp - 0x1124]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x400
lea ecx, [ebp - 0xd23]
push ebx
push ecx
mov byte [ebp - 0xd24], bl
call fcn.0041b530
mov edi, dword [ebp - 0x112c]
add edi, 0x800
add esp, 0xc
lea edx, [ebp - 0x520]
cmp byte [edi], bl
je 0x41771d
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x400
lea ecx, [ebp - 0xd24]
push edi
push ecx
call fcn.00415cd0
add esp, 0xc
jmp 0x4177e8
push 0x400
push str.ErrorLogs
push edx
call fcn.00415d00
add esp, 0xc
push ebx
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x520]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
xor eax, eax
lea edx, [ebp - 0xc]
push edx
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov word [ebp - 0xf], ax
push esi
lea eax, [ebp - 0x1138]
push eax
lea ecx, [ebp - 0xd24]
push str._s_lu_s
push ecx
mov byte [ebp - 0x20], bl
call fcn.0041e496
add esp, 0x14
lea edx, [ebp - 0xd24]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, 1
jbe 0x4177e8
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
lea eax, [ebp - 0xc]
push eax
push esi
lea ecx, [ebp - 0x1138]
push ecx
lea edx, [ebp - 0x20]
push str._s_lu_s
push edx
call fcn.0041e496
lea eax, [ebp - 0xc]
push eax
lea ecx, [esi - 1]
push ecx
lea edx, [ebp - 0x1138]
push edx
lea eax, [ebp - 0xd24]
push str._s_lu_s
push eax
call fcn.0041e496
add esp, 0x28
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0xd24]
push edx
call edi
dec esi
cmp esi, 1
ja 0x417798
push 0x3ff
lea eax, [ebp - 0x91f]
push ebx
push eax
mov byte [ebp - 0x920], bl
call fcn.0041b530
mov esi, dword [ebp - 0x112c]
add esp, 0xc
add esi, 0x400
mov ecx, 0x436328
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417836
cmp dl, bl
je 0x417832
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417836
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417816
xor eax, eax
jmp 0x41783b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x417854
push 0x400
lea ecx, [ebp - 0x920]
push esi
push ecx
call fcn.00415cd0
add esp, 0xc
mov ecx, 0x436328
lea eax, [ebp - 0x920]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417880
cmp dl, bl
je 0x41787c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417880
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417860
xor eax, eax
jmp 0x417885
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4178f8
mov eax, dword [str.SoftwareRealNetworksPreferencesCrashLogOptions]
lea edx, [ebp - 0x1128]
push edx
push 0x20019
push ebx
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4178f8
lea ecx, [ebp - 0x1130]
push ecx
mov ecx, dword [str.SymbolPath]
lea edx, [ebp - 0x920]
push edx
mov edx, dword [ebp - 0x1128]
lea eax, [ebp - 0x1134]
push eax
push ebx
push ecx
push edx
mov dword [ebp - 0x1134], ebx
mov dword [ebp - 0x1130], 0x400
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [ebp - 0x1128]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1128], ebx
mov ecx, 0x436328
lea eax, [ebp - 0x920]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417923
cmp dl, bl
je 0x41791f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417923
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417903
xor eax, eax
jmp 0x417928
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x417956
push 0x400
lea ecx, [ebp - 0x920]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [ebp - 0x920]
push 0x5c
push edx
call fcn.0041fec0
add esp, 8
cmp eax, ebx
je 0x417956
mov byte [eax], bl
mov ecx, dword [str.SoftwareRealNetworksPreferencesCrashLogOptions]
lea eax, [ebp - 0x1128]
push eax
push 1
push ebx
push ecx
push 0x80000001
xor edi, edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4179d5
lea edx, [ebp - 0x1130]
push edx
mov edx, dword [str.MiniDumpOptions]
lea eax, [ebp - 0x112c]
push eax
mov eax, dword [ebp - 0x1128]
lea ecx, [ebp - 0x1134]
push ecx
push ebx
push edx
push eax
mov dword [ebp - 0x112c], ebx
mov dword [ebp - 0x1134], ebx
mov dword [ebp - 0x1130], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4179c2
mov edi, dword [ebp - 0x112c]
mov ecx, dword [ebp - 0x1128]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1128], ebx
lea ecx, [ebp - 0x1154]
call fcn.004147b0
lea edx, [ebp - 0x920]
push edx
lea ecx, [ebp - 0x1154]
call fcn.004186b0
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x113c]
push esi
push eax
push edi
push str.log1.dmp
lea ecx, [ebp - 0x1154]
call fcn.0041a220
lea ecx, [ebp - 0xd24]
push ecx
lea ecx, [ebp - 0x1154]
call fcn.004197c0
lea ecx, [ebp - 0x1154]
call fcn.0041a020
lea ecx, [ebp - 0x1154]
call fcn.00419c90
mov edx, dword [ebp - 0x113c]
push esi
push edx
lea ecx, [ebp - 0x1154]
call fcn.00419bc0
lea ecx, [ebp - 0x1154]
call fcn.00419a50
lea ecx, [ebp - 0x1154]
call fcn.00419ab0
lea ecx, [ebp - 0x1154]
call fcn.0041a300
lea ecx, [ebp - 0x1124]
mov eax, 0x436328
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x417a95
cmp dl, bl
je 0x417a91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x417a95
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x417a75
xor eax, eax
jmp 0x417a9a
sbb eax, eax
sbb eax, 0xffffffff
pop edi
pop esi
cmp eax, ebx
pop ebx
je 0x417aae
lea eax, [ebp - 0x1124]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea ecx, [ebp - 0x1154]
call fcn.0041a2c0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041bc6c
mov esp, ebp
pop ebp
ret 8