Function at 0x40a615
Capabilities:
Identify system language via api
Set file attributes

Disassembly:
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp dword [0x42db60], edi
je 0x40a69d
mov esi, 0x42dc2c
push 0x104
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x2e
push esi
call fcn.0040c4f2
pop ecx
cmp eax, edi
pop ecx
je 0x40a646
and byte [eax], 0
push str..ini
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, 0x80
push edi
push ebx
push 3
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, 0x40000000
push 1
push ebp
push esi
call edi
cmp eax, 0xffffffff
je 0x40a67b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40a69d
push 0
push ebx
push 4
push 0
push 1
push ebp
push esi
call edi
cmp eax, 0xffffffff
je 0x40a69d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 2
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call edi
call edi
mov si, ax
and esi, 0x3ff
call edi
push 1
pop ecx
push 7
mov dword [0x42dc0c], ecx
pop edx
shr ax, 0xa
cmp si, dx
jne 0x40a6d3
and dword [0x42dc0c], 0
jmp 0x40a93e
cmp si, 0x19
jne 0x40a6e8
mov dword [0x42dc0c], 2
jmp 0x40a93e
push 0xa
pop edi
cmp si, di
jne 0x40a6ff
mov dword [0x42dc0c], 3
jmp 0x40a93e
push 0x15
pop ebp
cmp si, bp
jne 0x40a716
mov dword [0x42dc0c], 4
jmp 0x40a93e
cmp si, 0x18
jne 0x40a72b
mov dword [0x42dc0c], 5
jmp 0x40a93e
cmp si, cx
jne 0x40a73f
mov dword [0x42dc0c], 6
jmp 0x40a93e
cmp si, 0xc
jne 0x40a750
mov dword [0x42dc0c], edx
jmp 0x40a93e
push 0x10
pop edx
cmp si, dx
jne 0x40a767
mov dword [0x42dc0c], 8
jmp 0x40a93e
push 0x1d
pop ebx
cmp si, bx
jne 0x40a77e
mov dword [0x42dc0c], 9
jmp 0x40a93e
cmp si, 8
jne 0x40a78f
mov dword [0x42dc0c], edi
jmp 0x40a93e
cmp si, 6
jne 0x40a7a4
mov dword [0x42dc0c], 0xb
jmp 0x40a93e
cmp si, 4
jne 0x40a7cc
cmp ax, cx
mov dword [0x42dc0c], 0x13
jne 0x40a93e
mov dword [0x42dc0c], 0xe
jmp 0x40a93e
cmp si, 0xb
je 0x40a7bd
cmp si, 5
jne 0x40a7e7
mov dword [0x42dc0c], 0xf
jmp 0x40a93e
push 0x1f
pop ecx
cmp si, cx
je 0x40a745
cmp si, 0x13
jne 0x40a808
mov dword [0x42dc0c], 0x11
jmp 0x40a93e
push 0x16
pop eax
cmp si, ax
jne 0x40a81f
mov dword [0x42dc0c], 0x12
jmp 0x40a93e
cmp si, 0xe
jne 0x40a830
mov dword [0x42dc0c], ebp
jmp 0x40a93e
cmp si, 0x12
jne 0x40a840
mov dword [0x42dc0c], eax
jmp 0x40a93e
cmp si, 0x11
jne 0x40a855
mov dword [0x42dc0c], 0x17
jmp 0x40a93e
push 0x24
pop eax
cmp si, ax
jne 0x40a86c
mov dword [0x42dc0c], 0x18
jmp 0x40a93e
cmp si, 0x3c
jne 0x40a881
mov dword [0x42dc0c], 0x19
jmp 0x40a93e
cmp si, 0x14
jne 0x40a896
mov dword [0x42dc0c], 0x1a
jmp 0x40a93e
cmp si, 0x1e
jne 0x40a8ab
mov dword [0x42dc0c], 0x1b
jmp 0x40a93e
cmp si, 0x2a
jne 0x40a8bc
mov dword [0x42dc0c], ebx
jmp 0x40a93e
cmp si, 0x36
jne 0x40a8ca
mov dword [0x42dc0c], ecx
jmp 0x40a93e
cmp si, 0x39
jne 0x40a8dc
mov dword [0x42dc0c], 0x20
jmp 0x40a93e
cmp si, 0xd
jne 0x40a8ee
mov dword [0x42dc0c], 0x21
jmp 0x40a93e
cmp si, 0x3e
jne 0x40a900
mov dword [0x42dc0c], 0x22
jmp 0x40a93e
cmp si, 0x21
jne 0x40a912
mov dword [0x42dc0c], 0x23
jmp 0x40a93e
cmp si, 0x64
je 0x40a836
cmp si, 0x29
jne 0x40a92e
mov dword [0x42dc0c], 0x25
jmp 0x40a93e
cmp si, 0x46
jne 0x40a93e
mov dword [0x42dc0c], 0x26
push dword [0x42dc0c]
push 0x41a29c
call fcn.0040a5fb
push dword [0x42dc1c]
mov dword [0x42dc0c], eax
push str.tray_start
call fcn.0040a5fb
add esp, 0x10
mov dword [0x42dc1c], eax
pop edi
pop esi
pop ebp
pop ebx
ret