Function at 0x47d393
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0047e484
add esp, 8
mov eax, dword [ebp + 0xc]
push eax
call fcn.0047ee00
add esp, 4
lea eax, [ebp + eax - 0x2c]
mov dword [ebp - 0x34], eax
push str.NT.DLL
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x47d3ff
lea eax, [ebp - 0x2c]
push eax
push str.NS:_Attempting_to_load__s
call fcn.0047dbd0
add esp, 8
push 0x2a
push 1
push str._v_d._d_n
call fcn.0047dbd0
add esp, 0xc
cmp dword [ebp + 0x10], 0
jne 0x47d456
push 0x8000
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push str.nsnwnt.dll
lea eax, [ebp - 0x2c]
push eax
call fcn.00401020
add esp, 8
test eax, eax
jne 0x47d456
push 0x4040
lea eax, [ebp - 0xc0]
push eax
push str.calwin32.dll
call dword [sym.imp.KERNEL32.dll_OpenFile]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffff
jne 0x47d456
jmp 0x47da5e
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0047da8f
add esp, 0x10
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x47d4b1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
je 0x47d4b1
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
je 0x47d4b1
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0047da8f
add esp, 0x10
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x47d4c0
jmp 0x47da5e
push str.Init
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x47d4fb
mov dword [ebp - 0x30], 1
jmp 0x47d502
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d537
cmp dword [ebp + 0x10], 0
je 0x47d52b
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
push str.NS:__s_not_found_in_DLL.___d__n
call fcn.0047dbd0
add esp, 0xc
mov dword [ebp - 0x30], 1
jmp 0x47da5e
push fcn.0047dbd0
mov eax, dword [ebp + 0x10]
push eax
push 0x2a
push 1
call dword [ebp - 4]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x47d5ab
cmp dword [ebp + 0x10], 0
je 0x47d5a6
cmp dword [ebp - 0x30], 1
jne 0x47d57a
push str.NS:_Unable_to_establish_login_status._n
call fcn.0047dbd0
add esp, 4
jmp 0x47d5a6
push str._Initialize
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
mov eax, dword [ebp - 0x30]
push eax
call fcn.0047dda2
push eax
lea eax, [ebp - 0x2c]
push eax
push str.NS:__s__s_n
call fcn.0047dbd0
add esp, 0xc
jmp 0x47da5e
push str.Deinitialize
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 0
jne 0x47d5ec
mov dword [ebp - 0x30], 1
jmp 0x47d5f3
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d607
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], 0
push str.UserNameGet
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 0
jne 0x47d648
mov dword [ebp - 0x30], 1
jmp 0x47d64f
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d663
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], 0
push str.UserInGroup
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x24], 0
jne 0x47d6a4
mov dword [ebp - 0x30], 1
jmp 0x47d6ab
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d6bf
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
push str.ResourceFullName
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
jne 0x47d700
mov dword [ebp - 0x30], 1
jmp 0x47d707
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d71b
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], 0
push str.FileOpen
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0
jne 0x47d75c
mov dword [ebp - 0x30], 1
jmp 0x47d763
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d777
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
push str.DriveMap
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x30], 0
jne 0x47d7b8
mov dword [ebp - 0x30], 1
jmp 0x47d7bf
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d7d3
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 0
push str.DriveUnmap
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
jne 0x47d814
mov dword [ebp - 0x30], 1
jmp 0x47d81b
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d82f
mov eax, dword [ebp + 8]
mov dword [eax + 0x34], 0
push str.TimeConvert
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
jne 0x47d870
mov dword [ebp - 0x30], 1
jmp 0x47d877
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d88b
mov eax, dword [ebp + 8]
mov dword [eax + 0x38], 0
push str.SemaphoreOpen
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jne 0x47d8cc
mov dword [ebp - 0x30], 1
jmp 0x47d8d3
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d8e7
mov eax, dword [ebp + 8]
mov dword [eax + 0x3c], 0
push str.SemaphoreClose
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0
jne 0x47d928
mov dword [ebp - 0x30], 1
jmp 0x47d92f
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d943
mov eax, dword [ebp + 8]
mov dword [eax + 0x40], 0
push str.DriveStatus
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x44], 0
jne 0x47d984
mov dword [ebp - 0x30], 1
jmp 0x47d98b
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d99f
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], 0
push str.ClientIDGet
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x48], 0
jne 0x47d9e0
mov dword [ebp - 0x30], 1
jmp 0x47d9e7
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47d9fb
mov eax, dword [ebp + 8]
mov dword [eax + 0x48], 0
push str.WorkstationIDGet
mov eax, dword [ebp - 0x34]
push eax
call fcn.0047e484
add esp, 8
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4c], 0
jne 0x47da3c
mov dword [ebp - 0x30], 1
jmp 0x47da43
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x30], 0
je 0x47da57
mov eax, dword [ebp + 8]
mov dword [eax + 0x4c], 0
xor eax, eax
jmp 0x47da8a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x47da82
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x30]
jmp 0x47da8a
pop edi
pop esi
pop ebx
leave
ret