Function at 0x403ee0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5959b6
mov eax, dword fs:[0]
push eax
sub esp, 0xa64
mov eax, dword [0x60dfd4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x6179b8
push 0x105
push 0x617bc2
push 0
push 0x5e9424
push str.Bootstrap
mov byte [ebp - 0xa3d], 1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x6179b8
push 0x104
neg eax
push 0x617dcc
push 0
sbb al, al
and al, byte [ebp - 0xa3d]
push 0x5e940c
push str.Bootstrap
mov dword [ebp - 0xa44], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x403f9d
push 0x104
push 0x617dcc
push 0x67
push dword [0x61c3ec]
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [ebp - 0xa44]
movzx eax, cl
xor ecx, ecx
cmp word [0x617dcc], cx
cmove eax, ecx
mov byte [ebp - 0xa44], al
push 0x6179b8
push 0x1000
push 0x6183e4
push 0
push str.DialogText
push str.Bootstrap
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x403ff5
push 0x1000
push 0x6183e4
push 0x68
push dword [0x61c3ec]
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [ebp - 0xa44]
movzx eax, cl
xor ecx, ecx
cmp word [0x6183e4], cx
cmove eax, ecx
mov byte [ebp - 0xa44], al
push 0x6179b8
push 0x104
push 0x617fd4
push 0
push str.CaptionText
push str.Bootstrap
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x404065
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x69
push dword [0x61c3ec]
call dword [sym.imp.USER32.dll_LoadStringW]
cmp word [ebp - 0x218], 0
jne 0x404047
mov byte [ebp - 0xa44], 0
jmp 0x404065
push 0x617dcc
lea eax, [ebp - 0x218]
push eax
push 0x103
push 0x617fd4
call fcn.00402fd0
add esp, 0x10
push 0x6179b8
push 0x104
push 0x6181dc
push 0
push str.ErrorCaptionText
push str.Bootstrap
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x4040d5
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x6a
push dword [0x61c3ec]
call dword [sym.imp.USER32.dll_LoadStringW]
cmp word [ebp - 0x218], 0
jne 0x4040b7
mov byte [ebp - 0xa44], 0
jmp 0x4040d5
push 0x617dcc
lea eax, [ebp - 0x218]
push eax
push 0x103
push 0x6181dc
call fcn.00402fd0
add esp, 0x10
push 0x6179b8
push 0x105
push 0x61a3e4
push 0
push str.FxInstallerPath
push str.Bootstrap
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x404129
push 0x105
push 0x61a3e4
push dword [0x6179b0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x61a3e4
call fcn.0056e3b5
add esp, 8
test eax, eax
je 0x404129
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, 0x61a3e4
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
test ax, ax
jne 0x404130
cmp word [ecx - 4], 0x5c
je 0x404149
mov dword [ecx - 2], 0x5c
push 0x822
lea eax, [ebp - 0xa3c]
push 0
push eax
call fcn.0056eeb0
add esp, 0xc
lea eax, [ebp - 0xa3c]
push 0x6179b8
push 0x410
push eax
push str.LangPacks
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x40433f
mov ax, word [ebp - 0xa3c]
lea edi, [ebp - 0xa3c]
mov dword [ebp - 0xa48], edi
test ax, ax
je 0x40433f
movzx ecx, ax
cmp cx, 0x27
je 0x40430e
xor eax, eax
mov dword [ebp - 0xa50], 0
mov word [ebp - 0xa60], ax
mov eax, edi
mov dword [ebp - 0xa4c], 7
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4041d0
sub eax, edx
sar eax, 1
cmp eax, 7
ja 0x40420a
lea esi, [eax + eax]
mov dword [ebp - 0xa50], eax
push esi
lea eax, [ebp - 0xa60]
push edi
push eax
call fcn.0056f080
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0xa60], ax
jmp 0x404227
lfence
push edi
mov byte [ebp - 0xa64], 0
lea ecx, [ebp - 0xa60]
push dword [ebp - 0xa64]
push eax
call fcn.00404450
mov dword [ebp - 4], 0
cmp dword [0x61a5f4], 0x7ffffff
mov esi, dword [0x61a5f0]
je 0x404360
mov edi, dword [esi + 4]
mov dword [ebp - 0xa6c], 0x61a5f0
mov byte [ebp - 4], 1
mov dword [ebp - 0xa68], 0
push 0x20
lfence
call fcn.0041d1b5
xor ecx, ecx
add esp, 4
mov dword [ebp - 0xa68], ecx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
movups xmm0, xmmword [ebp - 0xa60]
movups xmmword [eax + 8], xmm0
movq xmm0, qword [ebp - 0xa50]
movq qword [eax + 0x18], xmm0
mov dword [ebp - 0xa4c], 7
mov dword [ebp - 0xa50], 0
mov word [ebp - 0xa60], cx
mov dword [eax], esi
mov dword [eax + 4], edi
inc dword [0x61a5f4]
mov dword [esi + 4], eax
mov dword [edi], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa4c]
cmp edx, 8
jb 0x404308
mov ecx, dword [ebp - 0xa60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4042fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40436a
push edx
push ecx
call fcn.0056a733
add esp, 8
mov edi, dword [ebp - 0xa48]
test edi, edi
jne 0x404316
xor eax, eax
jmp 0x404324
push 0x104
push edi
call fcn.005754d7
add esp, 8
lea edi, [edi + eax*2]
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov dword [ebp - 0xa48], edi
test ax, ax
jne 0x4041a2
mov eax, dword [ebp - 0xa44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056a6fa
mov esp, ebp
pop ebp
ret
push str.list_T__too_long
call fcn.0056caea
call fcn.005751b0
int3