Function at 0x4757a0
Capabilities:
Check os version
Link many functions at runtime
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c8
mov eax, dword [0x5d7008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x8b0], edx
push 0x100
xor esi, esi
mov dword [ebp - 0x8ac], ecx
push eax
mov dword [ebp - 0x8c0], 0
mov dword [ebp - 0x8c4], esi
call fcn.005417f5
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 0xc
push str.netapi32.dll
call ebx
test eax, eax
jne 0x47580c
push str.radmin32.dll
call ebx
test eax, eax
je 0x476f78
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x6a0]
mov dword [ebp - 0x6a0], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x476f78
cmp dword [ebp - 0x690], 2
jne 0x475863
mov eax, dword [ebp - 0x69c]
cmp eax, 4
jne 0x475852
mov dword [ebp - 0x8c0], 1
jmp 0x475863
cmp eax, 5
mov ecx, 1
cmovae esi, ecx
mov dword [ebp - 0x8c4], esi
lea ecx, [ebp - 0x508]
call fcn.00425a60
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea eax, [ebp - 0x508]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x4758bd
mov dword [ebp - 0x8c8], 0
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x4758b6
mov edx, str.group1
call fcn.00475280
mov dword [ebp - 0x8c8], eax
call fcn.00475130
jmp 0x4758cd
mov edx, str.group1
call fcn.00475280
mov dword [ebp - 0x8c8], eax
lea ecx, [ebp - 0x7a4]
call fcn.00425a60
lea eax, [ebp - 0x7a4]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475914
xor ebx, ebx
call fcn.00475080
cmp dword [0x5e25cc], ebx
je 0x47590d
mov edx, str.group2
call fcn.00475280
mov ebx, eax
call fcn.00475130
jmp 0x475920
mov edx, str.group2
call fcn.00475280
mov ebx, eax
lea ecx, [ebp - 0x8a8]
call fcn.00425a60
lea eax, [ebp - 0x8a8]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475967
xor edi, edi
call fcn.00475080
cmp dword [0x5e25cc], edi
je 0x475960
mov edx, str.group3
call fcn.00475280
mov edi, eax
call fcn.00475130
jmp 0x475973
mov edx, str.group3
call fcn.00475280
mov edi, eax
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x8bc], 1
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x4759cc
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x4759c5
push 1
mov edx, str.locdom1
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8bc], eax
call fcn.00475130
jmp 0x4759e1
push 1
mov edx, str.locdom1
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8bc], eax
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x8b4], 0
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475a3a
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475a33
push 0
mov edx, str.locdom2
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8b4], eax
call fcn.00475130
jmp 0x475a4f
push 0
mov edx, str.locdom2
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8b4], eax
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x8b8], 0
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475aa8
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475aa1
push 0
mov edx, str.locdom3
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8b8], eax
call fcn.00475130
jmp 0x475abd
push 0
mov edx, str.locdom3
call fcn.004751b0
add esp, 4
mov dword [ebp - 0x8b8], eax
push str.VNCACCESS
lea eax, [ebp - 0x204]
push 0x100
push eax
call fcn.005417f5
push str.Administrators
lea eax, [ebp - 0x304]
push 0x100
push eax
call fcn.005417f5
push str.VNCVIEWONLY
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.005417f5
mov eax, dword [ebp - 0x8c8]
add esp, 0x24
test eax, eax
je 0x475b21
push eax
lea eax, [ebp - 0x204]
push 0x100
push eax
call fcn.005417f5
add esp, 0xc
test ebx, ebx
je 0x475b3a
push ebx
lea eax, [ebp - 0x304]
push 0x100
push eax
call fcn.005417f5
add esp, 0xc
test edi, edi
je 0x475b53
push edi
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.005417f5
add esp, 0xc
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475ba1
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475b9a
lea eax, [ebp - 0x204]
mov edx, str.group1
push eax
call fcn.00475460
add esp, 4
call fcn.00475130
jmp 0x475bb5
lea eax, [ebp - 0x204]
mov edx, str.group1
push eax
call fcn.00475460
add esp, 4
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475c03
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475bfc
lea eax, [ebp - 0x304]
mov edx, str.group2
push eax
call fcn.00475460
add esp, 4
call fcn.00475130
jmp 0x475c17
lea eax, [ebp - 0x304]
mov edx, str.group2
push eax
call fcn.00475460
add esp, 4
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475c65
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475c5e
lea eax, [ebp - 0x404]
mov edx, str.group3
push eax
call fcn.00475460
add esp, 4
call fcn.00475130
jmp 0x475c79
lea eax, [ebp - 0x404]
mov edx, str.group3
push eax
call fcn.00475460
add esp, 4
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475cc6
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475cbf
push dword [ebp - 0x8bc]
mov edx, str.locdom1
call fcn.004753b0
add esp, 4
call fcn.00475130
jmp 0x475cd9
push dword [ebp - 0x8bc]
mov edx, str.locdom1
call fcn.004753b0
add esp, 4
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475d26
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475d1f
push dword [ebp - 0x8b4]
mov edx, str.locdom2
call fcn.004753b0
add esp, 4
call fcn.00475130
jmp 0x475d39
push dword [ebp - 0x8b4]
mov edx, str.locdom2
call fcn.004753b0
add esp, 4
lea ecx, [ebp - 0x60c]
call fcn.00425a60
lea eax, [ebp - 0x60c]
push eax
push 0
push str.UseRegistry
push str.admin
call esi
cmp eax, 1
jne 0x475d86
call fcn.00475080
cmp dword [0x5e25cc], 0
je 0x475d7f
push dword [ebp - 0x8b8]
mov edx, str.locdom3
call fcn.004753b0
add esp, 4
call fcn.00475130
jmp 0x475d99
push dword [ebp - 0x8b8]
mov edx, str.locdom3
call fcn.004753b0
add esp, 4
mov esi, dword [ebp - 0x8c8]
test esi, esi
je 0x475dc0
push esi
lea eax, [ebp - 0x204]
push 0x100
push eax
call fcn.005417f5
push 1
push esi
call fcn.0053d673
add esp, 0x14
test ebx, ebx
je 0x475de1
push ebx
lea eax, [ebp - 0x304]
push 0x100
push eax
call fcn.005417f5
push 1
push ebx
call fcn.0053d673
add esp, 0x14
test edi, edi
je 0x475e02
push edi
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.005417f5
push 1
push edi
call fcn.0053d673
add esp, 0x14
mov ecx, 0x584fd8
lea eax, [ebp - 0x204]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x475e30
test dl, dl
je 0x475e2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x475e30
add eax, 2
add ecx, 2
test dl, dl
jne 0x475e10
xor eax, eax
jmp 0x475e35
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x475fa2
mov ecx, 0x584fd8
lea eax, [ebp - 0x304]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x475e70
test dl, dl
je 0x475e6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x475e70
add eax, 2
add ecx, 2
test dl, dl
jne 0x475e50
xor eax, eax
jmp 0x475e75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x475fa2
mov ecx, 0x584fd8
lea eax, [ebp - 0x404]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x475ea8
test dl, dl
je 0x475ea4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x475ea8
add eax, 2
add ecx, 2
test dl, dl
jne 0x475e88
xor eax, eax
jmp 0x475ead
sbb eax, eax
or eax, 1
test eax, eax
jne 0x475fa2
cmp dword [ebp - 0x8c0], eax
jne 0x475ec9
cmp dword [ebp - 0x8c4], eax
je 0x475fa2
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call esi
test eax, eax
je 0x475f12
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str._authadmin.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x475f88
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, dword [ebp - 0x8bc]
lea eax, [ebp - 0x204]
push edi
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476097
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jmp 0x475faa
push 0
push 0x5e6980
mov edx, str.authadmin.dll_not_found
call fcn.004254b0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
add esp, 8
mov edi, dword [ebp - 0x8bc]
xor ebx, ebx
mov ecx, 0x584fd8
lea eax, [ebp - 0x204]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x475fd5
test dl, dl
je 0x475fd1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x475fd5
add eax, 2
add ecx, 2
test dl, dl
jne 0x475fb5
xor eax, eax
jmp 0x475fda
sbb eax, eax
or eax, 1
test eax, eax
je 0x4763f9
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call esi
test eax, eax
je 0x47602b
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.workgrpdomnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476126
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push edi
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
jne 0x47613c
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4760db
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
push str.logging.dll
push 0x104
mov byte [eax], 0
lea eax, [ebp - 0x508]
push eax
call fcn.0054184f
add esp, 0x14
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476113
push str.LOGLOGONUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x8ac]
lea ecx, [ebp - 0x104]
push ecx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053d630
mov esp, ebp
pop ebp
ret
push 0
push 0x5e6980
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
call fcn.00475500
test al, al
je 0x47621d
cmp dword [ebp - 0x8c4], 0
je 0x476214
cmp edi, 2
je 0x476164
cmp edi, 3
jne 0x476214
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4761b1
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476424
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push edi
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476097
call fcn.00475500
test al, al
je 0x47630b
cmp dword [ebp - 0x8c0], 0
je 0x476302
call fcn.00475520
test al, al
je 0x476302
cmp edi, 2
je 0x476252
cmp edi, 3
jne 0x476302
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x47629f
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauthnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x47643f
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push edi
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476097
call fcn.00475500
test al, al
je 0x4763f9
cmp dword [ebp - 0x8c0], 0
jne 0x4763f0
cmp dword [ebp - 0x8c4], 0
jne 0x4763f0
cmp edi, 2
je 0x476340
cmp edi, 3
jne 0x4763f0
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x47638d
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth9x.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x47645a
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push edi
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476097
mov ecx, 0x584fd8
lea eax, [ebp - 0x304]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x476472
test dl, dl
je 0x476420
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x476472
add eax, 2
add ecx, 2
test dl, dl
jne 0x476404
xor eax, eax
jmp 0x476477
push 0
push 0x5e6980
mov edx, str.ldapauth.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x47621d
push 0
push 0x5e6980
mov edx, str.ldapauthnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x47630b
push 0
push 0x5e6980
mov edx, str.ldapauth9x.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x4763f9
sbb eax, eax
or eax, 1
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x476909
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4764ce
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.workgrpdomnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x47653d
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b4]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x47609d
jmp 0x476553
push 0
push 0x5e6980
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
cmp dword [ebp - 0x8c0], 0
jne 0x476569
cmp dword [ebp - 0x8c4], 0
je 0x476616
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4765b2
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str._authadmin.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476621
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b4]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x47609d
jmp 0x476637
push 0
push 0x5e6980
mov edx, str.authadmin.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
call fcn.00475500
test al, al
je 0x47671f
cmp dword [ebp - 0x8c4], 0
je 0x476716
mov eax, dword [ebp - 0x8b4]
cmp eax, 2
je 0x476665
cmp eax, 3
jne 0x476716
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4766ae
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476934
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b4]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x47609d
call fcn.00475500
test al, al
je 0x476814
cmp dword [ebp - 0x8c0], 0
je 0x47680b
call fcn.00475520
test al, al
je 0x47680b
mov eax, dword [ebp - 0x8b4]
cmp eax, 2
je 0x47675a
cmp eax, 3
jne 0x47680b
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4767a3
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauthnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x47694f
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b4]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x47609d
call fcn.00475500
test al, al
je 0x476909
cmp dword [ebp - 0x8c0], 0
jne 0x476900
cmp dword [ebp - 0x8c4], 0
jne 0x476900
mov eax, dword [ebp - 0x8b4]
cmp eax, 2
je 0x47684f
cmp eax, 3
jne 0x476900
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476898
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth9x.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x47696a
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b4]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x47609d
mov ecx, 0x584fd8
lea eax, [ebp - 0x404]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x476982
test dl, dl
je 0x476930
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x476982
add eax, 2
add ecx, 2
test dl, dl
jne 0x476914
xor eax, eax
jmp 0x476987
push 0
push 0x5e6980
mov edx, str.ldapauth.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x47671f
push 0
push 0x5e6980
mov edx, str.ldapauthnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x476814
push 0
push 0x5e6980
mov edx, str.ldapauth9x.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x476909
sbb eax, eax
or eax, 1
test eax, eax
je 0x476eeb
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x4769d8
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.workgrpdomnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476a47
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476e13
jmp 0x476a5d
push 0
push 0x5e6980
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
cmp dword [ebp - 0x8c0], 0
jne 0x476a73
cmp dword [ebp - 0x8c4], 0
je 0x476b20
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476abc
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str._authadmin.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476b2b
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476e13
jmp 0x476b41
push 0
push 0x5e6980
mov edx, str.authadmin.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
call fcn.00475500
test al, al
je 0x476c29
cmp dword [ebp - 0x8c4], 0
je 0x476c20
mov eax, dword [ebp - 0x8b8]
cmp eax, 2
je 0x476b6f
cmp eax, 3
jne 0x476c20
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476bb8
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476e9f
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476e13
call fcn.00475500
test al, al
je 0x476d1e
cmp dword [ebp - 0x8c0], 0
je 0x476d15
call fcn.00475520
test al, al
je 0x476d15
mov eax, dword [ebp - 0x8b8]
cmp eax, 2
je 0x476c64
cmp eax, 3
jne 0x476d15
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476cad
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauthnt4.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476eba
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x476e13
call fcn.00475500
test al, al
je 0x476eeb
cmp dword [ebp - 0x8c0], 0
jne 0x476e0a
cmp dword [ebp - 0x8c4], 0
jne 0x476e0a
mov eax, dword [ebp - 0x8b8]
cmp eax, 2
je 0x476d59
cmp eax, 3
jne 0x476e0a
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476da2
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
add esp, 8
test eax, eax
je 0x476f78
push str.ldapauth9x.dll
mov byte [eax], 0
lea eax, [ebp - 0x508]
push 0x104
push eax
call fcn.0054184f
add esp, 0xc
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476ed5
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x5e25c8], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x8b0]
push dword [ebp - 0x8ac]
call dword [0x5e25c8]
add esp, 0x14
mov ebx, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
jne 0x476eeb
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476e51
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
push str.logging.dll
push 0x104
mov byte [eax], 0
lea eax, [ebp - 0x508]
push eax
call fcn.0054184f
add esp, 0x14
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476e89
push str.LOGLOGONUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x8ac]
lea ecx, [ebp - 0x104]
push ecx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053d630
mov esp, ebp
pop ebp
ret
push 0
push 0x5e6980
mov edx, str.ldapauth.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x476c29
push 0
push 0x5e6980
mov edx, str.ldapauthnt4.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
jmp 0x476d1e
push 0
push 0x5e6980
mov edx, str.ldapauth9x.dll_not_found
call fcn.004254b0
add esp, 8
xor ebx, ebx
push 0x104
lea eax, [ebp - 0x508]
push eax
push 0
call edi
test eax, eax
je 0x476f29
lea eax, [ebp - 0x508]
push 0x5c
push eax
call fcn.0053eb80
push str.logging.dll
push 0x104
mov byte [eax], 0
lea eax, [ebp - 0x508]
push eax
call fcn.0054184f
add esp, 0x14
lea eax, [ebp - 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x476113
push str.LOGFAILEDUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x8ac]
lea ecx, [ebp - 0x104]
push ecx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053d630
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053d630
mov esp, ebp
pop ebp
ret