Function at 0x4147b0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42dd98
mov eax, dword fs:[0]
push eax
sub esp, 0x854
mov eax, dword [0x440d84]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x848], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x844], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call sub.MSVCR110.dll_memset
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call sub.MSVCR110.dll_memset
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call sub.MSVCR110.dll_memset
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call sub.MSVCR110.dll_memset
mov ecx, esi
add esp, 0x30
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414870
sub ecx, edx
sar ecx, 1
jne 0x4148bc
push 0x104
lea eax, [ebp - 0x830]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.OLReg_UserData.ini
lea eax, [ebp - 0x830]
push eax
push 0x434f30
jmp 0x4148f9
push 0x5c
push esi
call dword [sym.imp.MSVCR110.dll_wcsrchr]
mov edx, eax
sub edx, esi
mov ecx, esi
sar edx, 1
add esp, 8
inc edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4148d4
sub ecx, ebx
sar ecx, 1
push str.OLReg_UserData.ini
push esi
cmp edx, ecx
je 0x4148f4
push 0x434f30
jmp 0x4148f9
push 0x435070
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_swprintf_s]
add esp, 0x14
lea eax, [ebp - 0x218]
push eax
push str._OLREG__OLRSubmission__Modified_user_data_path:__s
call fcn.00401440
add esp, 8
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x414942
mov dword [edi + 0xdb4], 0xffffffeb
jmp 0x414c52
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x420]
push eax
push 0x432c58
push str.Name
push str.userData
call esi
lea eax, [ebp - 0x218]
push eax
push 0x208
lea eax, [ebp - 0x628]
push eax
push 0x432c58
push str.Email
push str.userData
call esi
lea eax, [ebp - 0x218]
push eax
push 1
push str.Subscribe
push str.userData
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
push ebx
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push eax
push str._OLREG__OLRSubmission__Name:___s___Email:___s___subscribe:__d
call fcn.00401440
lea ecx, [ebp - 0x420]
add esp, 0x10
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4149d2
sub ecx, edx
sar ecx, 1
je 0x414a17
movzx eax, word [ebp + esi*2 - 0x420]
push eax
push esi
push str._OLREG__OLRSubmission__Name__d_:__04X
call fcn.00401440
lea eax, [ebp - 0x420]
add esp, 0xc
inc esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414a04
sub eax, edx
sar eax, 1
cmp esi, eax
jb 0x4149e3
lea ecx, [ebp - 0x834]
call dword [sym.imp.mfc110u.dll_Ordinal_296]
lea ecx, [ebp - 0x838]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc110u.dll_Ordinal_296]
push 0x2713
lea ecx, [ebp - 0x838]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc110u.dll_Ordinal_8308]
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414a54
sub ecx, edx
sar ecx, 1
jne 0x414a83
cmp dword [edi + 0xba4], 2
mov dword [edi + 0xdb4], 0xffffffff
je 0x414b08
push 0x2752
jmp 0x414ae6
lea ecx, [ebp - 0x628]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414a90
sub ecx, edx
sar ecx, 1
jne 0x414abb
cmp dword [edi + 0xba4], 2
mov dword [edi + 0xdb4], 0xfffffffe
je 0x414b08
push 0x271e
jmp 0x414ae6
lea eax, [ebp - 0x628]
push eax
call fcn.00407ce0
add esp, 4
test al, al
jne 0x414b0f
cmp dword [edi + 0xba4], 2
mov dword [edi + 0xdb4], 0xfffffffd
je 0x414b08
push 0x271f
lea ecx, [ebp - 0x834]
call dword [sym.imp.mfc110u.dll_Ordinal_8308]
push 0x30
push dword [ebp - 0x838]
push dword [ebp - 0x834]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor esi, esi
jmp 0x414c38
call fcn.00407c70
mov esi, eax
push esi
push str._OLREG__OLRSubmission__area_index:__d
call fcn.00401440
add esp, 8
lea ecx, [ebp - 0x840]
push 0x432c58
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push esi
lea eax, [ebp - 0x840]
push 0x432c50
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.mfc110u.dll_Ordinal_4754]
add esp, 8
mov ecx, esp
mov dword [ebp - 0x83c], esp
push 0x432c58
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push ecx
mov ecx, esp
mov dword [ebp - 0x85c], esp
push 0x432c58
mov byte [ebp - 4], 3
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push 1
push ecx
lea eax, [ebp - 0x840]
mov ecx, esp
mov dword [ebp - 0x84c], esp
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.mfc110u.dll_Ordinal_280]
xor eax, eax
test ebx, ebx
setne al
push 0
mov byte [ebp - 4], 5
push eax
push ecx
lea eax, [ebp - 0x628]
mov ecx, esp
mov dword [ebp - 0x850], esp
push eax
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push ecx
mov ecx, esp
mov dword [ebp - 0x858], esp
push 0x432c58
mov byte [ebp - 4], 6
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push ecx
lea eax, [ebp - 0x420]
mov ecx, esp
mov dword [ebp - 0x860], esp
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push ecx
mov ecx, esp
mov dword [ebp - 0x854], esp
push dword [ebp - 0x844]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push ecx
mov ecx, esp
push dword [ebp - 0x848]
mov byte [ebp - 4], 9
call dword [sym.imp.mfc110u.dll_Ordinal_286]
lea ecx, [edi + 0xcc]
mov byte [ebp - 4], 2
call fcn.004287a0
lea ecx, [ebp - 0x840]
mov esi, 1
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x838]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x834]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042b9f8
mov esp, ebp
pop ebp
ret 0xc