Function at 0x42d120
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x45a9ed
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [0x491104]
xor eax, esp
mov dword [esp + 0x32c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x491104]
xor eax, esp
push eax
lea eax, [esp + 0x344]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x354]
mov esi, dword [esp + 0x358]
mov edi, ecx
call fcn.0042c790
test al, al
je 0x42d714
mov eax, dword [edi]
mov ecx, dword [ebp]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x190
lea eax, [esp + 0x28]
push eax
push 0
push str.location
push ecx
call ebx
lea eax, [esp + 0x20]
lea ecx, [eax + 2]
nop
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x42d1a0
sub eax, ecx
sar eax, 1
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00406cd0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.driver
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 1
lea ecx, [esi + 4]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0
lea ecx, [esp + 0x1c]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea eax, [esp + 0x28]
push eax
push 0
push str.database
push ecx
call ebx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 2
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.0042cfc0
add esp, 8
mov byte [esp + 0x34c], 3
lea ecx, [esi + 0xc]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 2
lea ecx, [esp + 0x1c]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.databasefile
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 4
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0042ce00
mov byte [esp + 0x354], 5
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0042c9d0
add esp, 0x10
mov byte [esp + 0x34c], 6
lea ecx, [esi + 0x10]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 5
lea ecx, [esp + 0x1c]
call fcn.00406ed0
mov byte [esp + 0x34c], 4
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.servername
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 7
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0042ce00
mov byte [esp + 0x354], 8
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0042ce80
add esp, 0x10
mov byte [esp + 0x34c], 9
lea ecx, [esi + 8]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 8
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov byte [esp + 0x34c], 7
lea ecx, [esp + 0x1c]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.datapath
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0xa
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0042ce00
mov byte [esp + 0x354], 0xb
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0042c9d0
add esp, 0x10
mov byte [esp + 0x34c], 0xc
lea ecx, [esi + 0x14]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0xb
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov byte [esp + 0x34c], 0xa
lea ecx, [esp + 0x1c]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0
push str.trustedconnection
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
setne cl
mov byte [esi + 0x18], cl
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.additionals
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0xd
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 0xe
lea ecx, [esi + 0x1c]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0xd
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea eax, [esp + 0x28]
push eax
push 0
push str.additionalconnectionparam
push ecx
call ebx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0xf
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 0x10
lea ecx, [esi + 0x20]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0xf
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea edx, [esp + 0x28]
push edx
push 0
push str.collation
push ecx
call ebx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0x11
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 0x12
lea ecx, [esi + 0x24]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0x11
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov eax, dword [edi]
mov ecx, dword [ebp]
push eax
push 0x190
lea eax, [esp + 0x28]
push eax
push 0
push str.adminexe
push ecx
call ebx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
call fcn.00406e00
mov dword [esp + 0x34c], 0x13
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 0x14
lea ecx, [esi + 0x2c]
push eax
call fcn.00406800
mov byte [esp + 0x34c], 0x13
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov edi, dword [edi]
mov ebp, dword [ebp]
push edi
push 0x190
lea ecx, [esp + 0x28]
push ecx
push 0
push str.connectionid
push ebp
call ebx
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x18]
call fcn.00406e00
mov ebx, 0x15
mov dword [esp + 0x34c], ebx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0042ce00
add esp, 8
mov byte [esp + 0x34c], 0x16
lea ecx, [esi + 0x28]
push eax
call fcn.00406800
mov byte [esp + 0x34c], bl
lea ecx, [esp + 0x18]
call fcn.00406ed0
mov dword [esp + 0x34c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00406ed0
mov al, 1
mov ecx, dword [esp + 0x344]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x32c]
xor ecx, esp
call fcn.00442851
add esp, 0x33c
ret 8