Function at 0x40c340
Capabilities:
Check for peb beingdebugged flag
Check if file exists
Get file attributes
Get geographical location
Identify system language via api

Disassembly:
push 0xffffffffffffffff
push 0x440a44
mov eax, dword fs:[0]
push eax
sub esp, 0x63c
mov eax, dword [0x4530e4]
xor eax, esp
mov dword [esp + 0x638], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4530e4]
xor eax, esp
push eax
lea eax, [esp + 0x650]
mov dword fs:[0], eax
mov eax, 7
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x30], 0x456570
mov dword [0x456588], eax
mov dword [0x456584], ebp
mov word [0x456574], cx
mov dword [esp + 0x658], ebp
xor edx, edx
mov dword [0x4565a4], eax
mov dword [0x4565a0], ebp
mov word [0x456590], dx
mov dword [0x4565c0], eax
mov dword [0x4565bc], ebp
mov word [0x4565ac], cx
mov dword [0x4565dc], eax
mov dword [0x4565d8], ebp
mov word [0x4565c8], dx
mov dword [0x4565f8], eax
xor eax, eax
mov dword [0x4565f4], ebp
mov word [0x4565e4], ax
push 0x104
lea ecx, [esp + 0x240]
mov byte [esp + 0x65c], 4
mov edx, dword [0x4555a4]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x23c]
push 0x5c
push eax
mov esi, 0x445a28
call fcn.0042c19e
lea ecx, [eax + 2]
add esp, 8
sub ecx, esi
mov edi, edi
movzx eax, word [esi]
mov word [esi + ecx], ax
add esi, 2
cmp ax, bp
jne 0x40c430
lea eax, [esp + 0x23c]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x40c450
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x240]
mov esi, 0x45658c
call fcn.00408320
push esi
mov ebx, str.en.ini
lea esi, [esp + 0x18]
call fcn.0040bd70
add esp, 4
push 0xffffffffffffffff
push ebp
mov ecx, 0x4565c4
mov byte [esp + 0x660], 5
call fcn.00408090
mov ebx, 8
mov byte [esp + 0x658], 4
cmp dword [esp + 0x2c], ebx
jb 0x40c4b8
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0042bb4c
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, ax
push 0x104
lea edx, [esp + 0x38]
push edx
movzx esi, ax
push 0x59
push esi
call edi
push 0x104
lea eax, [esp + 0x448]
push eax
push 0x5a
push esi
call edi
lea ecx, [esp + 0x34]
push ecx
call fcn.00438c67
lea edx, [esp + 0x448]
push edx
call fcn.00438c67
lea eax, [esp + 0x3c]
add esp, 8
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x40c510
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x38]
mov esi, 0x456570
call fcn.00408320
push 0x2d
mov eax, 1
mov edi, esi
call fcn.00401680
lea eax, [esp + 0x444]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x40c546
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x448]
push eax
mov eax, 0x456570
call fcn.00405a80
push 0x45658c
lea edi, [esp + 0x18]
call fcn.0040cf50
add esp, 4
push 0xffffffffffffffff
push ebp
mov ecx, 0x4565a8
mov byte [esp + 0x660], 6
call fcn.00408090
mov byte [esp + 0x658], 4
cmp dword [esp + 0x2c], ebx
jb 0x40c5a9
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0042bb4c
add esp, 4
push 4
push str..ini
mov eax, 0x4565a8
call fcn.00405a80
mov eax, dword [0x4565ac]
cmp dword [0x4565c0], ebx
jae 0x40c5cc
mov eax, 0x4565ac
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40c682
lea eax, [esp + 0x34]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x40c5e3
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x38]
mov esi, 0x456570
call fcn.00408320
push 0x45658c
lea edi, [esp + 0x18]
call fcn.0040cf50
add esp, 4
push 0xffffffffffffffff
push ebp
mov ecx, 0x4565a8
mov byte [esp + 0x660], 7
call fcn.00408090
mov byte [esp + 0x658], 4
cmp dword [esp + 0x2c], ebx
jb 0x40c642
mov edx, dword [esp + 0x18]
push edx
call fcn.0042bb4c
add esp, 4
push 4
push str..ini
mov eax, 0x4565a8
call fcn.00405a80
mov eax, dword [0x4565ac]
cmp dword [0x4565c0], ebx
jae 0x40c665
mov eax, 0x4565ac
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40c682
push 2
mov eax, 0x445a5c
mov esi, 0x456570
call fcn.00408320
mov eax, 0x456570
mov ecx, dword [esp + 0x650]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x638]
xor ecx, esp
call fcn.0042bb57
add esp, 0x648
ret