Function at 0x460280
Capabilities:
Check os version
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
mov eax, dword [0x4f5568]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x208]
mov dword [ebp - 0x5a4], edx
push 0x100
xor edi, edi
mov dword [ebp - 0x5a0], ecx
xor esi, esi
mov dword [ebp - 0x5a8], edi
push eax
mov dword [ebp - 0x5ac], esi
call fcn.004ad6d8
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 0xc
push str.netapi32.dll
call ebx
test eax, eax
jne 0x4602ea
push str.radmin32.dll
call ebx
test eax, eax
je 0x4618aa
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x59c]
mov dword [ebp - 0x59c], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x4618aa
cmp dword [ebp - 0x58c], 2
jne 0x460341
mov eax, dword [ebp - 0x598]
cmp eax, 4
jne 0x460330
mov dword [ebp - 0x5a8], 1
jmp 0x460341
cmp eax, 5
mov ecx, 1
cmovae esi, ecx
mov dword [ebp - 0x5ac], esi
call fcn.0045fa70
mov ebx, eax
call fcn.0045fb90
mov esi, eax
call fcn.0045fcb0
mov dword [ebp - 0x5bc], eax
call fcn.0045fd40
mov dword [ebp - 0x5b8], eax
call fcn.0045fe70
mov dword [ebp - 0x5b4], eax
call fcn.0045ff90
movq xmm0, qword [str.VNCACCESS]
mov dword [ebp - 0x5b0], eax
movzx eax, word [0x4e8044]
mov word [ebp - 0x500], ax
mov eax, dword [0x4e8050]
mov dword [ebp - 0x300], eax
movzx eax, word [0x4e8054]
movq qword [ebp - 0x508], xmm0
movq xmm0, qword [str.Administrators]
mov word [ebp - 0x2fc], ax
mov al, byte [0x4e8056]
movq qword [ebp - 0x308], xmm0
movq xmm0, qword [str.VNCVIEWONLY]
mov byte [ebp - 0x2fa], al
mov eax, dword [0x4e8060]
movq qword [ebp - 0x408], xmm0
mov dword [ebp - 0x400], eax
test ebx, ebx
je 0x460403
lea edx, [ebp - 0x508]
mov ecx, ebx
sub edx, ebx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4603f6
test esi, esi
je 0x46041e
lea edx, [ebp - 0x308]
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x460411
mov eax, dword [ebp - 0x5bc]
test eax, eax
je 0x46043f
lea edx, [ebp - 0x408]
mov ecx, eax
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x460432
lea ecx, [ebp - 0x508]
call fcn.0045f9e0
lea ecx, [ebp - 0x308]
call fcn.0045fb00
lea ecx, [ebp - 0x408]
call fcn.0045fc20
mov ecx, dword [ebp - 0x5b8]
call fcn.0045fde0
mov ecx, dword [ebp - 0x5b4]
call fcn.0045ff00
mov ecx, dword [ebp - 0x5b0]
call fcn.00460020
test ebx, ebx
je 0x4604a6
lea edx, [ebp - 0x508]
mov ecx, ebx
sub edx, ebx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x460490
push ebx
call fcn.004ad35b
add esp, 4
test esi, esi
je 0x4604ca
lea edx, [ebp - 0x308]
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4604b4
push esi
call fcn.004ad35b
add esp, 4
mov ebx, dword [ebp - 0x5bc]
test ebx, ebx
je 0x4604f6
lea edx, [ebp - 0x408]
mov ecx, ebx
sub edx, ebx
mov edi, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4604e0
push ebx
call fcn.004ad35b
add esp, 4
mov ecx, 0x4d9f42
lea eax, [ebp - 0x508]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460521
test dl, dl
je 0x46051d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460521
add eax, 2
add ecx, 2
test dl, dl
jne 0x460501
xor eax, eax
jmp 0x460526
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4606b5
mov ecx, 0x4d9f42
lea eax, [ebp - 0x308]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460560
test dl, dl
je 0x46055c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460560
add eax, 2
add ecx, 2
test dl, dl
jne 0x460540
xor eax, eax
jmp 0x460565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4606b5
mov ecx, 0x4d9f42
lea eax, [ebp - 0x408]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460598
test dl, dl
je 0x460594
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460598
add eax, 2
add ecx, 2
test dl, dl
jne 0x460578
xor eax, eax
jmp 0x46059d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4606b5
cmp dword [ebp - 0x5a8], edi
jne 0x4605b9
cmp dword [ebp - 0x5ac], edi
je 0x4606b5
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call esi
test eax, eax
je 0x460623
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4605f0
mov eax, dword [str._authadmin.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8068]
mov dword [ecx + 4], eax
mov eax, dword [0x4e806c]
mov dword [ecx + 8], eax
mov ax, word [0x4e8070]
mov word [ecx + 0xc], ax
mov al, byte [0x4e8072]
mov byte [ecx + 0xe], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460699
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov ebx, dword [ebp - 0x5b8]
lea eax, [ebp - 0x508]
push ebx
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607d7
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jmp 0x4606bb
push 0
push 0x5025a8
mov edx, str.authadmin.dll_not_found
call fcn.0041b520
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
add esp, 8
xor edi, edi
mov ebx, dword [ebp - 0x5b8]
mov ecx, 0x4d9f42
lea eax, [ebp - 0x508]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4606e6
test dl, dl
je 0x4606e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4606e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4606c6
xor eax, eax
jmp 0x4606eb
sbb eax, eax
or eax, 1
test eax, eax
je 0x460ba9
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call esi
test eax, eax
je 0x46076b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea ebx, [ebx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460730
mov eax, dword [str.workgrpdomnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8098]
mov dword [ecx + 4], eax
mov eax, dword [0x4e809c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80a0]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e80a4]
mov word [ecx + 0x10], ax
mov al, byte [0x4e80a6]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460884
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
jne 0x46089a
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x460839
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
lea ecx, [ebp - 0x108]
add esp, 8
dec ecx
mov byte [eax], 0
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460810
mov eax, dword [str.logging.dll]
mov dword [ecx], eax
mov eax, dword [0x4e3470]
mov dword [ecx + 4], eax
mov eax, dword [0x4e3474]
mov dword [ecx + 8], eax
mov al, byte [0x4e3478]
mov byte [ecx + 0xc], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460871
push str.LOGLOGONUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aca59
mov esp, ebp
pop ebp
ret
push 0
push 0x5025a8
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
call fcn.004600b0
test al, al
je 0x46098e
cmp dword [ebp - 0x5ac], 0
je 0x46098e
cmp ebx, 2
je 0x4608c2
cmp ebx, 3
jne 0x46098e
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x46092b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460900
mov eax, dword [str.ldapauth.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80c8]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80cc]
mov dword [ecx + 8], eax
mov ax, word [0x4e80d0]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460bd4
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607d7
call fcn.004600b0
test al, al
je 0x460a9b
cmp dword [ebp - 0x5a8], 0
je 0x460a9b
call fcn.004600d0
test al, al
je 0x460a9b
cmp ebx, 2
je 0x4609cc
cmp ebx, 3
jne 0x460a9b
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x460a38
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460a07
mov eax, dword [str.ldapauthnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80f0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80f4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80f8]
mov dword [ecx + 0xc], eax
mov al, byte [0x4e80fc]
mov byte [ecx + 0x10], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460bef
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607d7
call fcn.004600b0
test al, al
je 0x460ba0
cmp dword [ebp - 0x5a8], 0
jne 0x460ba0
cmp dword [ebp - 0x5ac], 0
jne 0x460ba0
cmp ebx, 2
je 0x460ad9
cmp ebx, 3
jne 0x460ba0
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x460b3d
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460b14
mov eax, dword [str.ldapauth9x.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8120]
mov dword [ecx + 4], eax
mov eax, dword [0x4e8124]
mov dword [ecx + 8], eax
mov eax, dword [0x4e8128]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460c0a
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607d7
mov ecx, 0x4d9f42
lea eax, [ebp - 0x308]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460c22
test dl, dl
je 0x460bd0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460c22
add eax, 2
add ecx, 2
test dl, dl
jne 0x460bb4
xor eax, eax
jmp 0x460c27
push 0
push 0x5025a8
mov edx, str.ldapauth.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x460997
push 0
push 0x5025a8
mov edx, str.ldapauthnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x460aa4
push 0
push 0x5025a8
mov edx, str.ldapauth9x.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x460ba9
sbb eax, eax
or eax, 1
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x46115e
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x460cab
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460c70
mov eax, dword [str.workgrpdomnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8098]
mov dword [ecx + 4], eax
mov eax, dword [0x4e809c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80a0]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e80a4]
mov word [ecx + 0x10], ax
mov al, byte [0x4e80a6]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460d1a
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b4]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607dd
jmp 0x460d30
push 0
push 0x5025a8
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
cmp dword [ebp - 0x5a8], 0
jne 0x460d46
cmp dword [ebp - 0x5ac], 0
je 0x460e17
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x460db3
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460d80
mov eax, dword [str._authadmin.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8068]
mov dword [ecx + 4], eax
mov eax, dword [0x4e806c]
mov dword [ecx + 8], eax
mov ax, word [0x4e8070]
mov word [ecx + 0xc], ax
mov al, byte [0x4e8072]
mov byte [ecx + 0xe], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460e22
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b4]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607dd
jmp 0x460e38
push 0
push 0x5025a8
mov edx, str.authadmin.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
call fcn.004600b0
test al, al
je 0x460f33
cmp dword [ebp - 0x5ac], 0
je 0x460f33
mov eax, dword [ebp - 0x5b4]
cmp eax, 2
je 0x460e66
cmp eax, 3
jne 0x460f33
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x460ecb
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460ea0
mov eax, dword [str.ldapauth.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80c8]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80cc]
mov dword [ecx + 8], eax
mov ax, word [0x4e80d0]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x461190
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b4]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607dd
call fcn.004600b0
test al, al
je 0x461049
cmp dword [ebp - 0x5a8], 0
je 0x461049
call fcn.004600d0
test al, al
je 0x461049
mov eax, dword [ebp - 0x5b4]
cmp eax, 2
je 0x460f77
cmp eax, 3
jne 0x461049
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x460fe1
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov edi, edi
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x460fb0
mov eax, dword [str.ldapauthnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80f0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80f4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80f8]
mov dword [ecx + 0xc], eax
mov al, byte [0x4e80fc]
mov byte [ecx + 0x10], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4611ab
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b4]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607dd
call fcn.004600b0
test al, al
je 0x461155
cmp dword [ebp - 0x5a8], 0
jne 0x461155
cmp dword [ebp - 0x5ac], 0
jne 0x461155
mov eax, dword [ebp - 0x5b4]
cmp eax, 2
je 0x46108d
cmp eax, 3
jne 0x461155
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x4610ed
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4610c4
mov eax, dword [str.ldapauth9x.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8120]
mov dword [ecx + 4], eax
mov eax, dword [0x4e8124]
mov dword [ecx + 8], eax
mov eax, dword [0x4e8128]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4611c6
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b4]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x4607dd
mov ecx, 0x4d9f42
lea eax, [ebp - 0x408]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4611de
test dl, dl
je 0x46118c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4611de
add eax, 2
add ecx, 2
test dl, dl
jne 0x461170
xor eax, eax
jmp 0x4611e3
push 0
push 0x5025a8
mov edx, str.ldapauth.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x460f3c
push 0
push 0x5025a8
mov edx, str.ldapauthnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x461052
push 0
push 0x5025a8
mov edx, str.ldapauth9x.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x46115e
sbb eax, eax
or eax, 1
test eax, eax
je 0x461803
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x46125d
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461222
mov eax, dword [str.workgrpdomnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8098]
mov dword [ecx + 4], eax
mov eax, dword [0x4e809c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80a0]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e80a4]
mov word [ecx + 0x10], ax
mov al, byte [0x4e80a6]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4612cc
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b0]
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x46170e
jmp 0x4612e2
push 0
push 0x5025a8
mov edx, str.workgrpdomnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
cmp dword [ebp - 0x5a8], 0
jne 0x4612f8
cmp dword [ebp - 0x5ac], 0
je 0x4613c7
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x461363
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461330
mov eax, dword [str._authadmin.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8068]
mov dword [ecx + 4], eax
mov eax, dword [0x4e806c]
mov dword [ecx + 8], eax
mov ax, word [0x4e8070]
mov word [ecx + 0xc], ax
mov al, byte [0x4e8072]
mov byte [ecx + 0xe], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4613d2
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b0]
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x46170e
jmp 0x4613e8
push 0
push 0x5025a8
mov edx, str.authadmin.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
call fcn.004600b0
test al, al
je 0x4614e3
cmp dword [ebp - 0x5ac], 0
je 0x4614e3
mov eax, dword [ebp - 0x5b0]
cmp eax, 2
je 0x461416
cmp eax, 3
jne 0x4614e3
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x46147b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461450
mov eax, dword [str.ldapauth.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80c8]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80cc]
mov dword [ecx + 8], eax
mov ax, word [0x4e80d0]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4617b7
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b0]
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x46170e
call fcn.004600b0
test al, al
je 0x4615f9
cmp dword [ebp - 0x5a8], 0
je 0x4615f9
call fcn.004600d0
test al, al
je 0x4615f9
mov eax, dword [ebp - 0x5b0]
cmp eax, 2
je 0x461527
cmp eax, 3
jne 0x4615f9
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x461591
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov edi, edi
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461560
mov eax, dword [str.ldapauthnt4.dll]
mov dword [ecx], eax
mov eax, dword [0x4e80f0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e80f4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e80f8]
mov dword [ecx + 0xc], eax
mov al, byte [0x4e80fc]
mov byte [ecx + 0x10], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4617d2
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b0]
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
je 0x46170e
call fcn.004600b0
test al, al
je 0x461705
cmp dword [ebp - 0x5a8], 0
jne 0x461705
cmp dword [ebp - 0x5ac], 0
jne 0x461705
mov eax, dword [ebp - 0x5b0]
cmp eax, 2
je 0x46163d
cmp eax, 3
jne 0x461705
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x46169d
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
add esp, 8
test eax, eax
je 0x4618aa
lea ecx, [ebp - 0x108]
mov byte [eax], 0
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461674
mov eax, dword [str.ldapauth9x.dll]
mov dword [ecx], eax
mov eax, dword [0x4e8120]
mov dword [ecx + 4], eax
mov eax, dword [0x4e8124]
mov dword [ecx + 8], eax
mov eax, dword [0x4e8128]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4617ed
push str.CUGP
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x4fd478], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp - 0x5b0]
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a0]
call dword [0x4fd478]
add esp, 0x14
mov edi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp edi, 1
jne 0x461803
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x461769
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
lea ecx, [ebp - 0x108]
add esp, 8
dec ecx
mov byte [eax], 0
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461740
mov eax, dword [str.logging.dll]
mov dword [ecx], eax
mov eax, dword [0x4e3470]
mov dword [ecx + 4], eax
mov eax, dword [0x4e3474]
mov dword [ecx + 8], eax
mov al, byte [0x4e3478]
mov byte [ecx + 0xc], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4617a1
push str.LOGLOGONUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
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.004aca59
mov esp, ebp
pop ebp
ret
push 0
push 0x5025a8
mov edx, str.ldapauth.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x4614ec
push 0
push 0x5025a8
mov edx, str.ldapauthnt4.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
jmp 0x461602
push 0
push 0x5025a8
mov edx, str.ldapauth9x.dll_not_found
call fcn.0041b520
add esp, 8
xor edi, edi
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call ebx
test eax, eax
je 0x46185b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004ad400
lea ecx, [ebp - 0x108]
add esp, 8
dec ecx
mov byte [eax], 0
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x461832
mov eax, dword [str.logging.dll]
mov dword [ecx], eax
mov eax, dword [0x4e3470]
mov dword [ecx + 4], eax
mov eax, dword [0x4e3474]
mov dword [ecx + 8], eax
mov al, byte [0x4e3478]
mov byte [ecx + 0xc], al
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x460871
push str.LOGFAILEDUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aca59
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.004aca59
mov esp, ebp
pop ebp
ret