Function at 0x409940
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x46f3d3
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x4a3dc0]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a3dc0]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc0]
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
push str.___Loading_Important_args...
mov dword [esp + 0xbc], ebx
call fcn.00438d20
add esp, 4
mov ecx, esi
call fcn.00406000
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x18]
push ebx
push ecx
push edx
lea edi, [esi + 0x118]
push edi
push ebp
mov ecx, esi
mov dword [esp + 0x30], edi
call fcn.00407fa0
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x409a78
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x409a5b
call fcn.00434cf0
push 0x41
push str.Error_occurred_while_importing_important_args._Exiting_installer.
lea ecx, [esp + 0x28]
mov esi, eax
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004042b0
lea eax, [esp + 0x20]
push eax
push 0x478254
push 0x13c
push 0x478298
push 3
mov ecx, esi
mov byte [esp + 0xcc], 1
call fcn.00434dd0
cmp dword [esp + 0x34], 0x10
jb 0x409a5b
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004533ae
add esp, 4
cmp dword [esp + 0x50], 0x10
jb 0x409a6f
mov edx, dword [esp + 0x3c]
push edx
call fcn.004533ae
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x409f9d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x1b
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.Important_args_config__TMP_
mov byte [ecx], bl
call fcn.004042b0
mov ecx, esi
mov byte [esp + 0xd4], 2
call fcn.00406000
lea eax, [esp + 0x3c]
push edi
push eax
mov byte [esp + 0xdc], bl
call fcn.00409430
add esp, 0x24
cmp dword [eax + 0x14], 0x10
mov byte [esp + 0xb8], 3
jb 0x409acd
mov eax, dword [eax]
push eax
call fcn.00438d20
add esp, 4
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0xb8], bl
jb 0x409af1
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004533ae
add esp, 4
mov edx, dword [str.INSTALLCFG]
push edx
mov ecx, esi
call fcn.004060e0
test al, al
je 0x409b85
mov ecx, esi
call fcn.00406000
mov eax, dword [str.INSTALLCFG]
push eax
mov ecx, edi
call fcn.00405aa0
mov ecx, eax
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x409b24
sub ecx, dword [esp + 0x14]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004042b0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
push str.Path_to_the_install_configuration_file_is_set_to
push ecx
call fcn.00406d30
add esp, 0xc
cmp dword [eax + 0x14], 0x10
mov byte [esp + 0xb8], 4
jb 0x409b61
mov eax, dword [eax]
push eax
call fcn.00438d20
add esp, 4
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0xb8], bl
jb 0x409b85
mov edx, dword [esp + 0x20]
push edx
call fcn.004533ae
add esp, 4
push str.___Loading_Config...
call fcn.00438d20
add esp, 4
mov ecx, esi
call fcn.004065f0
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x18]
movzx eax, al
push eax
push ecx
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x6c]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], bl
call fcn.004040c0
mov ecx, esi
mov byte [esp + 0xe0], 5
call fcn.00406000
push edi
push ebp
mov ecx, esi
mov byte [esp + 0xe8], bl
call fcn.00409100
mov edi, eax
cmp edi, ebx
je 0x409c82
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x409c67
call fcn.00434cf0
push 0x49
push str.Error_occurred_while_importing_configuration_settings._Exiting_installer.
lea ecx, [esp + 0x28]
mov esi, eax
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004042b0
lea ecx, [esp + 0x20]
push ecx
push 0x47839c
push 0x14f
push 0x4783d8
push 3
mov ecx, esi
mov byte [esp + 0xcc], 6
call fcn.00434dd0
cmp dword [esp + 0x34], 0x10
jb 0x409c67
mov edx, dword [esp + 0x20]
push edx
call fcn.004533ae
add esp, 4
cmp dword [esp + 0x50], 0x10
jb 0x409c7b
mov eax, dword [esp + 0x3c]
push eax
call fcn.004533ae
add esp, 4
mov eax, edi
jmp 0x409f9d
push str.___Saving_backup...
call fcn.00438d20
add esp, 4
push 1
lea edi, [esi + 0x238]
push edi
push ebp
mov ecx, esi
call fcn.00408bc0
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x409cfd
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x409cdc
push str.Error_occurred_while_importing_runtime_file_for_backup.Exiting_installer.
push 0x4784a4
push 0x15c
push 0x4784e8
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.004053c0
cmp dword [esp + 0x50], 0x10
jb 0x409a6f
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004533ae
mov eax, dword [esp + 0x18]
add esp, 4
jmp 0x409f9d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x10
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.Config_to_backup
mov byte [ecx], bl
call fcn.004042b0
lea edx, [esp + 0x3c]
push edi
push edx
call fcn.00409430
add esp, 0x24
mov edi, 0x10
mov byte [esp + 0xb8], 7
cmp dword [eax + 0x14], edi
jb 0x409d40
mov eax, dword [eax]
push eax
call fcn.00438d20
add esp, 4
mov byte [esp + 0xb8], bl
cmp dword [esp + 0x34], edi
jb 0x409d63
mov eax, dword [esp + 0x20]
push eax
call fcn.004533ae
add esp, 4
push str.___Loading_export_config...
call fcn.00438d20
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x1c]
add esp, 4
push 1
push ecx
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x6c]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], bl
call fcn.004040c0
lea edi, [esi + 0x1a8]
push edi
push ebp
mov ecx, esi
call fcn.00409100
mov ebp, eax
cmp ebp, ebx
je 0x409dfa
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x409dea
push str.Error_occurred_while_importing_configuration_files_without_defaults._Exiting_installer.
push str.InstallConfigData::_LoadConfigSettings
push 0x16c
push 0x4785d8
push 3
call fcn.00434cf0
mov ecx, eax
call fcn.004053c0
lea ecx, [esp + 0x3c]
call fcn.00405fd0
mov eax, ebp
jmp 0x409f9d
push str.___Adding_CMDLINE_to_config...
call fcn.00438d20
add esp, 4
push edi
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
call fcn.00407270
mov byte [esp + 0xb8], 8
cmp dword [esp + 0x84], ebx
je 0x409ec8
mov edx, dword [str.CMDLINE]
push edx
lea ecx, [esp + 0x5c]
call fcn.00405290
push 0x478554
push eax
lea eax, [esp + 0x98]
push eax
mov byte [esp + 0xc4], 9
call fcn.00406e00
lea ecx, [esp + 0x80]
push ecx
push eax
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0xd0], 0xa
call fcn.00406e50
add esp, 0x18
mov ebp, 0x10
mov byte [esp + 0xb8], 0xb
cmp dword [eax + 0x14], ebp
jb 0x409e88
mov ebx, dword [eax]
jmp 0x409e8a
mov ebx, eax
mov ecx, esi
call fcn.00406000
mov ecx, dword [esp + 0x1c]
push 0x4a5de0
push ebx
call fcn.004059a0
lea ecx, [esp + 0x20]
call fcn.00405fd0
lea ecx, [esp + 0x90]
call fcn.00405fd0
lea ecx, [esp + 0x58]
mov byte [esp + 0xb8], 8
call fcn.00405fd0
jmp 0x409ecd
mov ebp, 0x10
push str.___Normalizing_Export...
call fcn.00438d20
add esp, 4
push edi
mov ecx, esi
call fcn.004067d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.Config_to_export
call fcn.00405290
lea eax, [esp + 0x74]
push edi
push eax
call fcn.00409430
add esp, 0x24
mov byte [esp + 0xb8], 0xc
cmp dword [eax + 0x14], ebp
jb 0x409f12
mov eax, dword [eax]
push eax
call fcn.00438d20
add esp, 4
lea ecx, [esp + 0x58]
mov byte [esp + 0xb8], 8
call fcn.00405fd0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.____Working_config____
call fcn.00405290
mov ecx, esi
mov byte [esp + 0xd4], 0xd
call fcn.00406000
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0xdc], 8
call fcn.00409430
add esp, 0x24
mov byte [esp + 0xb8], 0xe
cmp dword [eax + 0x14], ebp
jb 0x409f77
mov eax, dword [eax]
push eax
call fcn.00438d20
add esp, 4
lea ecx, [esp + 0x58]
call fcn.00405fd0
lea ecx, [esp + 0x74]
call fcn.00405fd0
lea ecx, [esp + 0x3c]
call fcn.00405fd0
xor eax, eax
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.0045407e
add esp, 0xa8
ret 0xc