Function at 0x412cb0
Capabilities:
Get common file path
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4452c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3dc
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [ebp - 0x18]
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 4], 0
mov dword [0x467978], esi
mov dword [0x467a98], 0x7d2
mov dword [0x467a9c], 0x134
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x14], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0x409ab0
push esi
push 0x453044
lea ecx, [ebp - 0x288]
call fcn.00438f80
lea ecx, [ebp - 0x288]
call fcn.00438cc0
test eax, eax
jne 0x412f85
push 0x45304c
lea ecx, [ebp - 0x288]
call fcn.00438d00
lea ecx, [ebp - 0x288]
call fcn.00438d60
mov edi, dword [sym.imp.USER32.dll_LoadIconA]
push str.TNCICONIDLER
push esi
call edi
push str.TNCICONRXR
push esi
mov dword [0x466b30], eax
call edi
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [0x466b34], eax
jne 0x412d85
push 0x453070
call ebx
push str.TNCICONTXR
push esi
call edi
test eax, eax
mov dword [0x467aa4], eax
jne 0x412d9d
push str.NO_RX_ICON
call ebx
push str.TNCICONRXTXR
push esi
call edi
test eax, eax
mov dword [0x467aa0], eax
jne 0x412db5
push str.NO_RXTX_ICON
call ebx
push 0x4668f8
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.AGWPE.INI
push 0x4668f8
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x4668f8
push 0
push str.TRACE
push str.DEBUG
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x432900
push esi
push 0x4530d0
lea ecx, [ebp - 0x3e8]
mov dword [0x4668f0], eax
call fcn.004326d0
lea ecx, [ebp - 0x3e8]
call fcn.00432240
lea ecx, [ebp - 0x3e8]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00432700
lea ecx, [ebp - 0x94]
call fcn.00432350
push 1
lea ecx, [ebp - 0x94]
call fcn.004323c0
xor eax, eax
lea edx, [ebp - 0x128]
mov ecx, 0x25
lea edi, [ebp - 0x128]
rep stosd dword es:[edi], eax
push edx
mov dword [0x466c98], 0
mov dword [ebp - 0x128], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edx, dword [ebp - 0x118]
xor eax, eax
cmp edx, 2
sete al
push 0x4530dc
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x64]
mov dword [0x466c98], eax
call fcn.00438e70
lea ecx, [ebp - 0x64]
call fcn.00438de0
push str.comctl32.dll
call fcn.004370b0
add esp, 4
cmp eax, 0x40047
lea ecx, [ebp - 0x64]
jb 0x412ec5
push 0
call fcn.00438e50
mov dword [0x467aa8], 1
jmp 0x412ed6
push 2
call fcn.00438e50
mov dword [0x467aa8], 0
mov ecx, dword [0x467ab0]
call fcn.00401480
push 0
push 0
push 0x80da
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea edx, [ebp - 0x34]
push edx
call esi
test eax, eax
je 0x412f3b
cmp eax, 0xffffffff
jne 0x412f2d
or eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x34]
push eax
call edi
lea ecx, [ebp - 0x34]
push ecx
call ebx
jmp 0x412f03
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10