Function at 0x402e80
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x450730
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov eax, dword [0x45b954]
mov ecx, dword [0x45b958]
mov edx, dword [0x45b95c]
mov dword [esp + 0x18], eax
mov eax, dword [0x45b960]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 1
call fcn.00403480
test al, al
mov esi, 0xb
je 0x402f33
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov dword [eax + edx*4], 5
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x24], si
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x2c], 0xffff
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
test al, al
je 0x402f84
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov dword [eax + edx*4], 6
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x24], si
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x2c], bx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
test al, al
je 0x402fd5
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov dword [eax + edx*4], 8
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x24], si
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov word [eax + edx*4 + 0x2c], bx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test al, al
je 0x403044
mov eax, dword [esp + 0x14]
push 0x46cfac
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov dword [eax + edx*4], 9
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov word [eax + edx*4 + 0x24], 8
call esi
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ecx*2]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x10]
mov dword [edx + ecx*4 + 0x2c], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + edx*4 + 0x2c], ebx
je 0x403044
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
test al, al
je 0x4030ad
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push str.Admin
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov dword [ecx + eax*4], 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov word [ecx + eax*4 + 0x24], 8
call esi
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ecx*2]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x10]
mov dword [edx + ecx*4 + 0x2c], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + edx*4 + 0x2c], ebx
je 0x4030ad
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
test al, al
je 0x403116
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push str.StuDormMS.mdb
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov dword [ecx + eax*4], 0x3b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov word [ecx + eax*4 + 0x24], 8
call esi
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ecx*2]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x10]
mov dword [edx + ecx*4 + 0x2c], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + edx*4 + 0x2c], ebx
je 0x403116
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403480
test al, al
je 0x40316c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov dword [ecx + eax*4], 0x3f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov word [ecx + eax*4 + 0x24], 3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov dword [ecx + eax*4 + 0x2c], 0x10
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
push 4
push 0x40
lea ecx, [esp + 0x18]
call fcn.00403320
push 0x46cfac
push 0xa0
lea ecx, [esp + 0x18]
call fcn.00403250
push 0x409
push 0xba
lea ecx, [esp + 0x18]
call fcn.004033d0
lea edx, [esp + 0x10]
push 1
push edx
push str.Microsoft.Jet.OLEDB.4.0
lea ecx, [esp + 0x14]
call fcn.004034f0
mov esi, eax
cmp esi, ebx
jl 0x4031d2
mov ecx, dword [esp + 0xc]
push ebx
lea eax, [esp + 0xc]
push ebx
push eax
add ecx, 0x1cc
call fcn.00403680
mov esi, eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], bl
call fcn.00403210
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0xffffffff
call fcn.00404740
mov ecx, dword [esp + 0x28]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret