Function at 0x418460
Capabilities:
Print debug messages
Query or enumerate registry value
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x510
mov eax, dword [0x47a42c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x108]
mov dword [ebp - 0x50c], 0
push 0
push eax
call fcn.0042b800
add esp, 0xc
cmp dword [0x47bc40], 0
jne 0x4186e9
push esi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x508]
mov eax, ecx
mov dword [0x47bc40], 1
mov edx, 0x400
sub esi, eax
nop dword [eax]
lea eax, [edx + 0x7ffffbfe]
test eax, eax
je 0x4184d9
mov al, byte [esi + ecx]
test al, al
je 0x4184d9
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x4184c0
test edx, edx
lea eax, [ecx - 1]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov byte [eax], 0
mov eax, 0x8007007a
cmovne eax, ecx
jne 0x41850f
push ecx
push str.failed_to_copy_message_while_building_assert_message
push eax
push 4
push 0x53
push str.c:jenkins_fct1_svn_forticlienthsinstallationwix_fct_enterprise_fcsetupexedutildutil.cpp
call fcn.004188c0
add esp, 0x18
jmp 0x4186cd
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [0x47bc38], 0
jne 0x4186cd
lea eax, [ebp - 0x50c]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftDeliveryDebug
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4185f9
lea eax, [ebp - 0x510]
mov dword [ebp - 0x510], 0x104
push eax
lea eax, [ebp - 0x108]
push eax
push 0
push 0
push str.DeliveryAssertsLog
push dword [ebp - 0x50c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4185f9
push eax
push 0x80
push 4
push eax
push 5
push 0x40000000
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4186cd
push 2
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0x45ea90
push 0x400
lea eax, [ebp - 0x508]
push eax
call fcn.004182d0
push 0
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x508]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4186cd
push str._nAbortDebug__RetrySkip__IgnoreSkip_all
push 0x400
lea eax, [ebp - 0x508]
push eax
call fcn.004182d0
test eax, eax
jns 0x418631
push 0
push str.failed_to_concat_string_while_building_assert_message
push eax
push 4
push 0x76
push str.c:jenkins_fct1_svn_forticlienthsinstallationwix_fct_enterprise_fcsetupexedutildutil.cpp
call fcn.004188c0
add esp, 0x18
jmp 0x4186cd
push 0x240102
push str.Debug_Assert_Message
lea eax, [ebp - 0x508]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 3
jne 0x4186be
mov eax, dword [0x47bc34]
test eax, eax
je 0x4186b6
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x108]
push eax
push str.Module_is_running_from:__s_nIf_you_are_not_using_pdb_stamping__place_your_PDB_near_the_module_and_attach_to_process_id:__d__0x_x_
lea eax, [ebp - 0x508]
push 0x400
push eax
call fcn.00418380
add esp, 0x18
test eax, eax
js 0x4186b6
push 0x240000
push str.Debug_Assert_Message
lea eax, [ebp - 0x508]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x4186cd
cmp eax, 5
jne 0x4186cd
mov dword [0x47bc38], 1
mov eax, dword [ebp - 0x50c]
pop esi
test eax, eax
je 0x4186df
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [0x47bc40], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00428a27
mov esp, ebp
pop ebp
ret 4