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

Disassembly:
sub esp, 0x130
mov eax, dword [0x45fce8]
xor eax, esp
mov dword [esp + 0x12c], eax
cmp dword [0x4610ec], 2
push edi
mov edi, ecx
mov dword [esp + 8], edi
jne 0x406c9d
mov al, byte [0x4610e4]
mov byte [edi + 0x3faf8], al
mov cl, byte [0x4610e5]
mov byte [edi + 0x3faf9], cl
mov dl, byte [0x4610e6]
mov byte [edi + 0x3fafa], dl
pop edi
mov ecx, dword [esp + 0x12c]
xor ecx, esp
call fcn.0042fc1f
add esp, 0x130
ret
push esi
push 0x117
lea eax, [esp + 0x21]
push 0
push eax
mov byte [esp + 0x28], 0
call fcn.00431410
add esp, 0xc
lea esi, [edi + 0x43a84]
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [esp + 0x1c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x406cd1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x406ce2
sub eax, edx
cmp byte [eax + edi + 0x43a83], 0x5c
lea eax, [esp + 0x1c]
jne 0x406d31
add eax, 0xffffffff
mov edi, edi
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x406d00
mov ecx, dword [str.config.ini]
mov edx, dword [0x44c228]
mov dword [eax], ecx
mov cx, word [0x44c22c]
mov dword [eax + 4], edx
mov dl, byte [0x44c22e]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x406d58
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x406d34
mov ecx, dword [0x44c218]
mov edx, dword [0x44c21c]
mov dword [eax], ecx
mov ecx, dword [0x44c220]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [esp + 0x1c]
push edx
push 0xa
lea eax, [esp + 0x18]
push eax
push str.0.0.0
push str.Version
push str.LOGIN
call esi
lea ecx, [esp + 0x10]
push 0x44c078
push ecx
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406d97
mov byte [esp + 9], al
jmp 0x406da4
push eax
call fcn.0043149b
add esp, 4
mov byte [esp + 9], al
push 0x44c078
push 0
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406dbd
mov byte [esp + 8], al
jmp 0x406dca
push eax
call fcn.0043149b
add esp, 4
mov byte [esp + 8], al
push 0x44c078
push 0
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406de3
mov byte [esp + 0xa], al
jmp 0x406df0
push eax
call fcn.0043149b
add esp, 4
mov byte [esp + 0xa], al
lea edx, [esp + 0x1c]
push edx
push 0xa
lea eax, [esp + 0x18]
push eax
push str.0.0.0
push str.TestVersion
push str.LOGIN
call esi
lea ecx, [esp + 0x10]
push 0x44c078
push ecx
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406e29
mov byte [esp + 0xb], al
jmp 0x406e36
push eax
call fcn.0043149b
add esp, 4
mov byte [esp + 0xb], al
push ebx
push 0x44c078
push 0
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406e4e
xor bl, bl
jmp 0x406e59
push eax
call fcn.0043149b
add esp, 4
mov bl, al
push 0x44c078
push 0
call fcn.00431526
add esp, 8
test eax, eax
jne 0x406e70
xor al, al
jmp 0x406e79
push eax
call fcn.0043149b
add esp, 4
cmp dword [0x4610ec], 1
jne 0x406f2a
mov cl, byte [esp + 0xf]
movzx edi, byte [esp + 0xc]
movzx edx, cl
imul edx, edx, 0xffff
movzx esi, bl
shl esi, 8
add esi, edx
movzx edx, al
add esi, edx
movzx edx, byte [esp + 0xd]
imul edx, edx, 0xffff
shl edi, 8
add edi, edx
mov dl, byte [esp + 0xe]
push ebp
movzx ebp, dl
add edi, ebp
cmp edi, esi
pop ebp
jle 0x406efc
movzx ecx, byte [esp + 0xd]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x3faf8], cl
movzx ecx, byte [esp + 0xc]
pop ebx
pop esi
mov byte [eax + 0x3faf9], cl
mov byte [eax + 0x3fafa], dl
pop edi
mov ecx, dword [esp + 0x12c]
xor ecx, esp
call fcn.0042fc1f
add esp, 0x130
ret
mov edx, dword [esp + 0x10]
mov byte [edx + 0x3faf9], bl
pop ebx
pop esi
mov byte [edx + 0x3faf8], cl
mov byte [edx + 0x3fafa], al
pop edi
mov ecx, dword [esp + 0x12c]
xor ecx, esp
call fcn.0042fc1f
add esp, 0x130
ret
mov cl, byte [esp + 0xe]
mov dl, byte [esp + 0xd]
mov al, byte [esp + 0xc]
pop ebx
mov byte [edi + 0x3fafa], cl
mov ecx, dword [esp + 0x134]
pop esi
mov byte [edi + 0x3faf8], dl
mov byte [edi + 0x3faf9], al
pop edi
xor ecx, esp
call fcn.0042fc1f
add esp, 0x130
ret