Function at 0x419e39
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x4f8004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, 0xfb00
je 0x41a33a
sub ecx, 1
je 0x41a263
push 2
pop edi
sub ecx, edi
je 0x419c03
cmp eax, 0xfffffdee
jne case.0x419c18.2004
test byte [esi + 0xb4], 1
jne case.0x419c18.2004
push 0x100
lea eax, [ebp - 0x408]
push eax
push dword [esi + 4]
push dword [0x52a6a0]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x50
lea eax, [ebp - 0x408]
push eax
lea eax, [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
jmp case.0x419c18.2004
add eax, 0xfffff82f
cmp eax, 0x11
ja case.0x419c18.2004
movzx eax, byte [eax + 0x41a427]
jmp dword [eax*4 + 0x41a407]
test dword [esi + 0x58], 0xfffffff3
je case.0x419c18.2004
call fcn.0041cabe
call fcn.0041cc77
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push 0xa0a
push dword [0x52a68c]
call edi
cmp eax, 1
jle 0x419ca1
push ebx
push ebx
push 0x977
push dword [0x52a68c]
call edi
cmp eax, 1
je 0x419ca1
push ebx
push ebx
push 0x7d8
push dword [0x52a68c]
call edi
push ebx
push ebx
push 0x1f
push dword [0x52a68c]
mov esi, eax
call edi
push ebx
push ebx
push 0xa0b
push dword [0x52a68c]
call edi
push esi
push esi
push 0xa0c
push dword [0x52a68c]
call edi
mov edx, dword [0x5275e4]
push ecx
push ecx
call fcn.0040d8f0
pop ecx
pop ecx
cmp dword [0x5278d0], ebx
je case.0x419c18.2004
push ebx
push ebx
push 0x7ec
push dword [0x52a68c]
call edi
push ebx
push ebx
push 0x7d6
push dword [0x52a68c]
mov esi, eax
call edi
cmp esi, eax
jge 0x419d0e
push ebx
push esi
push 0x876
push dword [0x52a68c]
call edi
push ebx
push eax
push 0x877
push dword [0x52a68c]
call edi
push 0xffffffffffffffff
push eax
push 0xfa3
push dword [0x52a68c]
call edi
push ebx
push ebx
push 0x7d8
push dword [0x52a68c]
call edi
push ebx
mov esi, eax
push esi
push 0x7d7
push dword [0x52a68c]
mov dword [ebp - 0x410], esi
call edi
movsx cx, al
movzx ecx, cx
push ecx
push 0x4c2fc4
call dword [sym.imp.SHLWAPI.dll_StrChrA]
push ebx
push esi
test eax, eax
je 0x419dec
push 0x931
push dword [0x52a68c]
call edi
mov dword [ebp - 0x40c], eax
push ebx
push esi
cmp eax, 0xffffffff
je 0x419dcb
mov esi, 0x851
push esi
push dword [0x52a68c]
call edi
push ebx
push dword [ebp - 0x40c]
mov edi, eax
push esi
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp - 0x40c]
mov esi, eax
push dword [ebp - 0x410]
push 0x92f
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp edi, esi
push ebx
cmovl esi, edi
push esi
push 0x856
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x419c18.2004
push 0x930
push dword [0x52a68c]
call edi
push ebx
push ebx
push 0x856
push dword [0x52a68c]
call edi
jmp case.0x419c18.2004
push 0x971
push dword [0x52a68c]
call edi
push ebx
mov esi, eax
push esi
push 0x7d7
push dword [0x52a68c]
mov dword [ebp - 0x410], esi
call edi
movsx cx, al
movzx ecx, cx
push ecx
push 0x4c2fc4
call dword [sym.imp.SHLWAPI.dll_StrChrA]
test eax, eax
je 0x419e2e
push ebx
push esi
jmp 0x419d51
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x92f
jmp 0x419dd0
cmp dword [0x5278c8], 0
je 0x419f41
mov eax, dword [esi + 0x10]
cmp eax, 0xd
je 0x419e57
cmp eax, 0xa
jne 0x419f41
cmp dword [0x5278d4], 0
jne 0x419e69
cmp eax, 0xa
je case.0x419c18.2004
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push 0x7d8
push dword [0x52a68c]
call edi
push ebx
push eax
push 0x876
push dword [0x52a68c]
call edi
test eax, eax
jle case.0x419c18.2004
push ebx
dec eax
push eax
push 0x92e
push dword [0x52a68c]
mov dword [ebp - 0x410], eax
call edi
mov dword [ebp - 0x40c], eax
lea ecx, [eax + 1]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je case.0x419c18.2004
push esi
push dword [ebp - 0x410]
push 0x869
push dword [0x52a68c]
call edi
mov eax, dword [ebp - 0x40c]
mov ecx, esi
mov byte [esi + eax], bl
mov al, byte [esi]
jmp 0x419ef9
cmp al, 0x20
je 0x419ef6
cmp al, 9
je 0x419ef6
mov byte [ecx], bl
inc ecx
mov al, byte [ecx]
test al, al
jne 0x419eec
cmp byte [esi], bl
je 0x419f35
push ebx
push ebx
push 0x81e
push dword [0x52a68c]
call edi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x7d1
push dword [0x52a68c]
call edi
push ebx
push ebx
push 0x81f
push dword [0x52a68c]
call edi
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp case.0x419c18.2004
cmp dword [0x5278cc], 0
je 0x41a1a7
cmp dword [esi + 0x10], 0x3e
jne 0x41a1a7
push 0x200
xor ebx, ebx
lea eax, [ebp - 0x408]
push ebx
push eax
call fcn.00489f20
mov ax, word [0x4c3190]
mov word [ebp - 0x208], ax
mov al, byte [0x4c3192]
push 0x201
mov byte [ebp - 0x206], al
lea eax, [ebp - 0x205]
push ebx
push eax
call fcn.00489f20
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
add esp, 0x18
push ebx
push ebx
push 0x7d8
push dword [0x52a68c]
call esi
xor edx, edx
mov dword [ebp - 0x40c], eax
lea ecx, [eax - 0x1ff]
test ecx, ecx
cmovs ecx, edx
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x410], edx
cmp edx, 3
jl case.0x419c18.2004
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x408]
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0x41c]
push eax
push ebx
push 0x872
push dword [0x52a68c]
mov dword [ebp - 0x41c], ecx
call esi
mov eax, dword [ebp - 0x410]
lea esi, [ebp + eax - 0x40a]
cmp byte [esi], 0x2f
je case.0x419c18.2004
jmp 0x41a024
mov al, byte [esi]
cmp al, 0x3c
je 0x41a033
cmp al, 0x3e
je 0x41a02e
dec esi
lea eax, [ebp - 0x408]
cmp esi, eax
ja 0x41a019
cmp byte [esi], 0x3c
jne 0x41a065
inc esi
movsx ax, byte [esi]
movzx eax, ax
push eax
push str.:__.
call dword [sym.imp.SHLWAPI.dll_StrChrA]
test eax, eax
jne 0x41a059
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
test eax, eax
je 0x41a065
mov al, byte [esi]
mov byte [ebp + edi - 0x208], al
inc edi
jmp 0x41a033
mov byte [ebp + edi - 0x208], 0x3e
inc edi
cmp edi, 0x204
jae 0x41a400
mov byte [ebp + edi - 0x208], bl
cmp edi, 3
jle case.0x419c18.2004
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea eax, [ebp - 0x208]
push str.__base_
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__bgsound_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__br_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__embed_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__hr_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__img_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__input_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__link_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
push str.__meta_
lea eax, [ebp - 0x208]
push eax
call esi
test eax, eax
je case.0x419c18.2004
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x81e
push dword [0x52a68c]
call esi
lea eax, [ebp - 0x208]
push eax
push ebx
push 0x87a
push dword [0x52a68c]
call esi
mov eax, dword [ebp - 0x40c]
push eax
push eax
push 0x870
push dword [0x52a68c]
call esi
push ebx
push ebx
push 0x81f
push dword [0x52a68c]
jmp 0x41a2d8
cmp dword [0x526ce8], 0
je case.0x419c18.2004
xor ebx, ebx
push ebx
push ebx
push 0x836
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne case.0x419c18.2004
xor edx, edx
call fcn.0040d5a8
jmp case.0x419c18.2004
and dword [0x5278b4], 0
xor edx, edx
mov eax, dword [0x5278e4]
cmp eax, dword [0x52a138]
setne dl
sub esp, 0xc
push edx
jmp 0x41a249
cmp dword [esi + 0x40], edi
jne case.0x419c18.2004
mov ecx, dword [0x52a67c]
push 0
push dword [esi + 0xc]
mov eax, dword [ecx]
push 0x876
call dword [eax + 0x104]
mov edx, dword [esi + 0x14]
mov ecx, eax
call fcn.0041221b
jmp case.0x419c18.2004
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
call fcn.004122e3
jmp case.0x419c18.2004
sub esp, 0xc
mov dword [0x5278b4], 1
push 1
mov edx, dword [0x4fa128]
push ecx
push 0x52a900
push ecx
push ecx
mov ecx, ebx
call fcn.0040fa46
add esp, 0x20
jmp case.0x419c18.2004
cmp eax, 0xfffffd30
je 0x41a2e1
cmp eax, 0xfffffd3d
je 0x41a3ee
cmp eax, 0xfffffd3e
je 0x41a3ee
cmp eax, 0xfffffd3f
je 0x41a295
cmp eax, 0xfffffd40
jne case.0x419c18.2004
call fcn.0041cabe
jmp case.0x419c18.2004
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push 0x418
push dword [0x527320]
call esi
mov edi, eax
test edi, edi
jle 0x41a2c6
push ebx
push ebx
push 0x416
push dword [0x527320]
call esi
sub edi, 1
jne 0x41a2b2
push 0x4fa130
push 0x18
push 0x444
push dword [0x527320]
call esi
xor eax, eax
jmp 0x41a3f1
mov eax, dword [esi + 0xc]
cmp eax, 0x20
jae case.0x419c18.2004
imul eax, eax, 0x14
lea ecx, [ebp - 0x408]
push 0x100
push ecx
push dword [eax + 0x4fa134]
push dword [0x52a6a0]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [esi + 0x24]
lea eax, [ebp - 0x408]
push eax
push dword [esi + 0x28]
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
imul eax, dword [esi + 0xc], 0x14
push 0x14
add eax, 0x4fa130
push eax
lea eax, [esi + 0x10]
push eax
call fcn.0048a080
add esp, 0xc
jmp 0x41a3ee
cmp eax, 0xfffffffd
je 0x41a37d
cmp eax, 0xfffffffe
jne case.0x419c18.2004
cmp dword [esi + 0xc], 3
jne case.0x419c18.2004
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x7ee
push dword [0x52a68c]
call esi
push eax
push 0x7ed
push dword [0x52a68c]
call esi
mov ecx, dword [0x52a68c]
call fcn.0040bc0a
jmp 0x41a3ee
mov eax, dword [esi + 0xc]
push 2
pop edi
sub eax, edi
je 0x41a3db
sub eax, 1
je 0x41a3b3
sub eax, 1
je 0x41a3a2
sub eax, 1
jne case.0x419c18.2004
push eax
push 0x19dd0
jmp 0x41a3e2
xor ebx, ebx
push ebx
push ebx
push 0x914
push dword [0x52a68c]
jmp 0x41a3e8
mov ecx, dword [0x5278d4]
test ecx, ecx
jne 0x41a3c4
mov eax, 0x9d09
jmp 0x41a3d1
mov eax, 0x9d08
cmp ecx, edi
lea edx, [eax + 2]
cmove eax, edx
push 0
or eax, 0x10000
push eax
jmp 0x41a3e2
push 0
push 0x19ca9
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486c63
leave
ret
call fcn.00486d93
nop
cmp dword [esi - 0x5e22ffbf], ebx
inc ecx
add byte [edx], bh
mov byte [0xa22a0041], al
inc ecx
add byte [edi], bl
pushfd
inc ecx
add dl, bl
mov byte [0xa1fa0041], al
inc ecx
add dl, bl
mov byte [0x1000041], al
add al, byte [edi]
add eax, dword [edi]
add al, 5
pop es
push es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, -2115204267
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x4f8004]