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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
mov eax, dword [0x4ea5e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp + 0xc]
push eax
lea edx, [ebp - 0x208]
xor esi, esi
push pe_nt_image_headers32
push edx
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x5a8], esi
mov dword [ebp - 0x5ac], esi
call fcn.004a9480
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 0xc
push str.netapi32.dll
call edi
cmp eax, esi
jne 0x44e4e8
push str.radmin32.dll
call edi
cmp eax, esi
jne 0x44e4e8
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x59c]
push eax
mov dword [ebp - 0x59c], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x44e4d6
cmp dword [ebp - 0x58c], 2
mov ecx, 1
jne 0x44e536
mov eax, dword [ebp - 0x598]
cmp eax, 4
jne 0x44e52b
mov dword [ebp - 0x5a8], ecx
jmp 0x44e536
cmp eax, 5
jb 0x44e536
mov dword [ebp - 0x5ac], ecx
push ebx
call fcn.0044dc70
mov edi, eax
call fcn.0044dd90
mov ebx, eax
call fcn.0044deb0
mov dword [ebp - 0x5bc], eax
call fcn.0044df40
mov dword [ebp - 0x5b4], eax
call fcn.0044e070
mov dword [ebp - 0x5b0], eax
call fcn.0044e190
mov ecx, dword [str.VNCACCESS]
mov edx, dword [0x4dd1e8]
mov dword [ebp - 0x5b8], eax
mov ax, word [0x4dd1ec]
mov dword [ebp - 0x508], ecx
mov ecx, dword [str.Administrators]
mov dword [ebp - 0x504], edx
mov edx, dword [0x4dd1f4]
mov word [ebp - 0x500], ax
mov eax, dword [0x4dd1f8]
mov dword [ebp - 0x308], ecx
mov cx, word [0x4dd1fc]
mov dword [ebp - 0x304], edx
mov dl, byte [0x4dd1fe]
mov dword [ebp - 0x300], eax
mov eax, dword [str.VNCVIEWONLY]
mov word [ebp - 0x2fc], cx
mov ecx, dword [0x4dd204]
mov byte [ebp - 0x2fa], dl
mov edx, dword [0x4dd208]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x400], edx
test edi, edi
je 0x44e60e
lea edx, [ebp - 0x508]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e604
test ebx, ebx
je 0x44e62a
lea edx, [ebp - 0x308]
mov eax, ebx
sub edx, ebx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e620
mov eax, dword [ebp - 0x5bc]
test eax, eax
je 0x44e64a
lea edx, [ebp - 0x408]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e640
lea ecx, [ebp - 0x508]
call fcn.0044dbe0
lea ecx, [ebp - 0x308]
call fcn.0044dd00
lea ecx, [ebp - 0x408]
call fcn.0044de20
mov ecx, dword [ebp - 0x5b4]
call fcn.0044dfe0
mov ecx, dword [ebp - 0x5b0]
call fcn.0044e100
mov ecx, dword [ebp - 0x5b8]
call fcn.0044e220
test edi, edi
je 0x44e6b3
lea edx, [ebp - 0x508]
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e6a0
push edi
call fcn.004a9046
add esp, 4
test ebx, ebx
je 0x44e6d4
lea edx, [ebp - 0x308]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e6c1
push ebx
call fcn.004a9046
add esp, 4
mov edi, dword [ebp - 0x5bc]
test edi, edi
je 0x44e6fb
lea edx, [ebp - 0x408]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44e6e8
push edi
call fcn.004a9046
add esp, 4
mov ecx, 0x4ce44c
lea eax, [ebp - 0x508]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44e726
test dl, dl
je 0x44e722
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44e726
add eax, 2
add ecx, 2
test dl, dl
jne 0x44e706
xor eax, eax
jmp 0x44e72b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44e89e
mov ecx, 0x4ce44c
lea eax, [ebp - 0x308]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44e760
test dl, dl
je 0x44e75c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44e760
add eax, 2
add ecx, 2
test dl, dl
jne 0x44e740
xor eax, eax
jmp 0x44e765
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44e89e
mov ecx, 0x4ce44c
lea eax, [ebp - 0x408]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44e798
test dl, dl
je 0x44e794
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44e798
add eax, 2
add ecx, 2
test dl, dl
jne 0x44e778
xor eax, eax
jmp 0x44e79d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44e89e
cmp dword [ebp - 0x5a8], esi
jne 0x44e7b9
cmp dword [ebp - 0x5ac], esi
je 0x44e89e
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44e82a
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44e7f4
mov edx, dword [str._authadmin.dll]
mov ecx, dword [0x4dd210]
mov dword [eax], edx
mov edx, dword [0x4dd214]
mov dword [eax + 4], ecx
mov cx, word [0x4dd218]
mov dword [eax + 8], edx
mov dl, byte [0x4dd21a]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44e8d0
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov ecx, dword [ebp - 0x5b4]
push ecx
mov ecx, dword [ebp - 0x5a4]
lea edx, [ebp - 0x508]
push edx
mov edx, dword [ebp - 0x5a0]
lea eax, [ebp - 0x208]
push eax
push ecx
push edx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ecx, 0x4ce44c
lea eax, [ebp - 0x508]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44e8e8
test dl, dl
je 0x44e8cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44e8e8
add eax, 2
add ecx, 2
test dl, dl
jne 0x44e8b0
xor eax, eax
jmp 0x44e8ed
push 0x518d30
push str.authadmin.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44e89e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44ed19
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44e96f
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44e930
mov edx, dword [str.workgrpdomnt4.dll]
mov ecx, dword [0x4dd240]
mov dword [eax], edx
mov edx, dword [0x4dd244]
mov dword [eax + 4], ecx
mov ecx, dword [0x4dd248]
mov dword [eax + 8], edx
mov dx, word [0x4dd24c]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4dd24e]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44ed48
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5b4]
push eax
mov eax, dword [ebp - 0x5a4]
lea ecx, [ebp - 0x508]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
call fcn.0044e2b0
test al, al
je 0x44eae2
cmp dword [ebp - 0x5ac], 0
je 0x44eae2
mov ebx, dword [ebp - 0x5b4]
cmp ebx, 2
je 0x44ea11
cmp ebx, 3
jne 0x44eae2
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44ea7d
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44ea50
mov ecx, dword [str.ldapauth.dll]
mov edx, dword [0x4dd270]
mov dword [eax], ecx
mov ecx, dword [0x4dd274]
mov dword [eax + 4], edx
mov dx, word [0x4dd278]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44ed63
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5a4]
push ebx
lea ecx, [ebp - 0x508]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ebx, dword [ebp - 0x5b4]
call fcn.0044e2b0
test al, al
je 0x44ebfa
cmp dword [ebp - 0x5a8], 0
je 0x44ebfa
call fcn.0044e2d0
test al, al
je 0x44ebfa
cmp ebx, 2
je 0x44eb26
cmp ebx, 3
jne 0x44ebfa
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44eb95
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44eb61
mov ecx, dword [str.ldapauthnt4.dll]
mov edx, dword [0x4dd298]
mov dword [eax], ecx
mov ecx, dword [0x4dd29c]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2a0]
mov dword [eax + 8], ecx
mov cl, byte [0x4dd2a4]
mov dword [eax + 0xc], edx
mov byte [eax + 0x10], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44ed7e
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x508]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ebx, dword [ebp - 0x5b4]
call fcn.0044e2b0
test al, al
je 0x44ed10
cmp dword [ebp - 0x5a8], 0
jne 0x44ed10
cmp dword [ebp - 0x5ac], 0
jne 0x44ed10
cmp ebx, 2
je 0x44ec3e
cmp ebx, 3
jne 0x44ed10
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44ecab
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44ec80
mov ecx, dword [str.ldapauth9x.dll]
mov edx, dword [0x4dd2c8]
mov dword [eax], ecx
mov ecx, dword [0x4dd2cc]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2d0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44ed99
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5a4]
push ebx
lea ecx, [ebp - 0x508]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ecx, 0x4ce44c
lea eax, [ebp - 0x308]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44edb4
test dl, dl
je 0x44ed44
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44edb4
add eax, 2
add ecx, 2
test dl, dl
jne 0x44ed24
xor eax, eax
jmp 0x44edb9
push 0x518d30
push str.workgrpdomnt4.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44e9e3
push 0x518d30
push str.ldapauth.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44eaf1
push 0x518d30
push str.ldapauthnt4.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44ec09
push 0x518d30
push str.ldapauth9x.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44ed19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44f3de
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44ee3f
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44ee00
mov ecx, dword [str.workgrpdomnt4.dll]
mov edx, dword [0x4dd240]
mov dword [eax], ecx
mov ecx, dword [0x4dd244]
mov dword [eax + 4], edx
mov edx, dword [0x4dd248]
mov dword [eax + 8], ecx
mov cx, word [0x4dd24c]
mov dword [eax + 0xc], edx
mov dl, byte [0x4dd24e]
mov word [eax + 0x10], cx
mov byte [eax + 0x12], dl
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f35c
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov ecx, dword [ebp - 0x5b0]
push ecx
mov ecx, dword [ebp - 0x5a4]
lea edx, [ebp - 0x308]
push edx
mov edx, dword [ebp - 0x5a0]
lea eax, [ebp - 0x208]
push eax
push ecx
push edx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
cmp dword [ebp - 0x5a8], 0
jne 0x44eec9
cmp dword [ebp - 0x5ac], 0
je 0x44efa5
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44ef3a
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44ef04
mov edx, dword [str._authadmin.dll]
mov ecx, dword [0x4dd210]
mov dword [eax], edx
mov edx, dword [0x4dd214]
mov dword [eax + 4], ecx
mov cx, word [0x4dd218]
mov dword [eax + 8], edx
mov dl, byte [0x4dd21a]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f377
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov ecx, dword [ebp - 0x5b0]
push ecx
mov ecx, dword [ebp - 0x5a4]
lea edx, [ebp - 0x308]
push edx
mov edx, dword [ebp - 0x5a0]
lea eax, [ebp - 0x208]
push eax
push ecx
push edx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
call fcn.0044e2b0
test al, al
je 0x44f0a9
cmp dword [ebp - 0x5ac], 0
je 0x44f0a9
mov ebx, dword [ebp - 0x5b0]
cmp ebx, 2
je 0x44efdc
cmp ebx, 3
jne 0x44f0a9
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f044
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f017
mov edx, dword [str.ldapauth.dll]
mov ecx, dword [0x4dd270]
mov dword [eax], edx
mov edx, dword [0x4dd274]
mov dword [eax + 4], ecx
mov cx, word [0x4dd278]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f392
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ebx, dword [ebp - 0x5b0]
call fcn.0044e2b0
test al, al
je 0x44f1c1
cmp dword [ebp - 0x5a8], 0
je 0x44f1c1
call fcn.0044e2d0
test al, al
je 0x44f1c1
cmp ebx, 2
je 0x44f0ed
cmp ebx, 3
jne 0x44f1c1
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f15c
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f128
mov ecx, dword [str.ldapauthnt4.dll]
mov edx, dword [0x4dd298]
mov dword [eax], ecx
mov ecx, dword [0x4dd29c]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2a0]
mov dword [eax + 8], ecx
mov cl, byte [0x4dd2a4]
mov dword [eax + 0xc], edx
mov byte [eax + 0x10], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f3ad
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f2d9
mov ebx, dword [ebp - 0x5b0]
call fcn.0044e2b0
test al, al
je 0x44f2d0
cmp dword [ebp - 0x5a8], 0
jne 0x44f2d0
cmp dword [ebp - 0x5ac], 0
jne 0x44f2d0
cmp ebx, 2
je 0x44f205
cmp ebx, 3
jne 0x44f2d0
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f26b
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f240
mov ecx, dword [str.ldapauth9x.dll]
mov edx, dword [0x4dd2c8]
mov dword [eax], ecx
mov ecx, dword [0x4dd2cc]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2d0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f3c8
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5a4]
push ebx
lea ecx, [ebp - 0x308]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
jne 0x44f3de
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f33b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
mov byte [eax], 0
lea eax, [ebp - 0x108]
add esp, 8
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f310
mov ecx, dword [str.logging.dll]
mov edx, dword [0x4d85f0]
mov dword [eax], ecx
mov ecx, dword [0x4d85f4]
mov dword [eax + 4], edx
mov dl, byte [0x4d85f8]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], dl
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44fb07
push str.LOGLOGONUSER
jmp 0x44fae6
push 0x518d30
push str.workgrpdomnt4.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44eeb3
push 0x518d30
push str.authadmin.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44efae
push 0x518d30
push str.ldapauth.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44f0b8
push 0x518d30
push str.ldapauthnt4.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44f1d0
push 0x518d30
push str.ldapauth9x.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
mov ecx, 0x4ce44c
lea eax, [ebp - 0x408]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44f410
test dl, dl
je 0x44f40c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44f410
add eax, 2
add ecx, 2
test dl, dl
jne 0x44f3f0
xor eax, eax
jmp 0x44f415
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44fa70
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f497
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f458
mov edx, dword [str.workgrpdomnt4.dll]
mov ecx, dword [0x4dd240]
mov dword [eax], edx
mov edx, dword [0x4dd244]
mov dword [eax + 4], ecx
mov ecx, dword [0x4dd248]
mov dword [eax + 8], edx
mov dx, word [0x4dd24c]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4dd24e]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f891
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov ebx, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x408]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f9a9
cmp dword [ebp - 0x5a8], 0
jne 0x44f521
cmp dword [ebp - 0x5ac], 0
je 0x44f5fb
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f596
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f560
mov ecx, dword [str._authadmin.dll]
mov edx, dword [0x4dd210]
mov dword [eax], ecx
mov ecx, dword [0x4dd214]
mov dword [eax + 4], edx
mov dx, word [0x4dd218]
mov dword [eax + 8], ecx
mov cl, byte [0x4dd21a]
mov word [eax + 0xc], dx
mov byte [eax + 0xe], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f8b2
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x408]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f9a9
call fcn.0044e2b0
test al, al
je 0x44f6f9
cmp dword [ebp - 0x5ac], 0
je 0x44f6f9
cmp ebx, 2
je 0x44f62c
cmp ebx, 3
jne 0x44f6f9
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f694
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f667
mov ecx, dword [str.ldapauth.dll]
mov edx, dword [0x4dd270]
mov dword [eax], ecx
mov ecx, dword [0x4dd274]
mov dword [eax + 4], edx
mov dx, word [0x4dd278]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f8cd
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5a4]
push ebx
lea ecx, [ebp - 0x408]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f9a9
call fcn.0044e2b0
test al, al
je 0x44f80b
cmp dword [ebp - 0x5a8], 0
je 0x44f80b
call fcn.0044e2d0
test al, al
je 0x44f80b
cmp ebx, 2
je 0x44f737
cmp ebx, 3
jne 0x44f80b
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f7a6
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
add esp, 8
test eax, eax
je 0x44f87e
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f772
mov ecx, dword [str.ldapauthnt4.dll]
mov edx, dword [0x4dd298]
mov dword [eax], ecx
mov ecx, dword [0x4dd29c]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2a0]
mov dword [eax + 8], ecx
mov cl, byte [0x4dd2a4]
mov dword [eax + 0xc], edx
mov byte [eax + 0x10], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44f8e8
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edx, dword [ebp - 0x5a4]
push ebx
lea eax, [ebp - 0x408]
push eax
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x208]
push ecx
push edx
push eax
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
je 0x44f9a9
call fcn.0044e2b0
test al, al
je 0x44f9a0
cmp dword [ebp - 0x5a8], 0
jne 0x44f9a0
cmp dword [ebp - 0x5ac], 0
jne 0x44f9a0
cmp ebx, 2
je 0x44f849
cmp ebx, 3
jne 0x44f9a0
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44f93b
lea edx, [ebp - 0x108]
push 0x5c
push edx
call fcn.004a9130
add esp, 8
test eax, eax
jne 0x44f903
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
push 0x518d30
push str.workgrpdomnt4.dll_not_found
xor eax, eax
call fcn.00409310
mov ebx, dword [ebp - 0x5b8]
add esp, 8
xor esi, esi
jmp 0x44f50b
push 0x518d30
push str.authadmin.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44f604
push 0x518d30
push str.ldapauth.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44f702
push 0x518d30
push str.ldapauthnt4.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
jmp 0x44f814
mov byte [eax], 0
lea eax, [ebp - 0x108]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f910
mov ecx, dword [str.ldapauth9x.dll]
mov edx, dword [0x4dd2c8]
mov dword [eax], ecx
mov ecx, dword [0x4dd2cc]
mov dword [eax + 4], edx
mov edx, dword [0x4dd2d0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44fa5a
push str.CUGP
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
mov dword [0x544780], eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x5a4]
push ebx
lea ecx, [ebp - 0x408]
push ecx
mov ecx, dword [ebp - 0x5a0]
lea edx, [ebp - 0x208]
push edx
push eax
push ecx
call dword [0x544780]
add esp, 0x14
mov esi, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 1
jne 0x44fa70
push 0x104
lea edx, [ebp - 0x108]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44fa0b
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.004a9130
mov byte [eax], 0
lea eax, [ebp - 0x108]
add esp, 8
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44f9e0
mov ecx, dword [str.logging.dll]
mov edx, dword [0x4d85f0]
mov dword [eax], ecx
mov ecx, dword [0x4d85f4]
mov dword [eax + 4], edx
mov dl, byte [0x4d85f8]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], dl
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x44fa44
push str.LOGLOGONUSER
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x5a0]
push ecx
lea edx, [ebp - 0x208]
push edx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop ebx
pop edi
mov eax, 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
push 0x518d30
push str.ldapauth9x.dll_not_found
xor eax, eax
call fcn.00409310
add esp, 8
xor esi, esi
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x44face
lea ecx, [ebp - 0x108]
push 0x5c
push ecx
call fcn.004a9130
mov byte [eax], 0
lea eax, [ebp - 0x108]
add esp, 8
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x44faa3
mov edx, dword [str.logging.dll]
mov ecx, dword [0x4d85f0]
mov dword [eax], edx
mov edx, dword [0x4d85f4]
mov dword [eax + 4], ecx
mov cl, byte [0x4d85f8]
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x44fb07
push str.LOGFAILEDUSER
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x5a0]
push ecx
lea edx, [ebp - 0x208]
push edx
call eax
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 4]
pop ebx
pop edi
mov eax, esi
xor ecx, ebp
pop esi
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret