Function at 0x402e60
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x450340
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 [0x45b940]
mov ecx, dword [0x45b944]
mov edx, dword [0x45b948]
mov dword [esp + 0x18], eax
mov eax, dword [0x45b94c]
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.00403460
test al, al
mov esi, 0xb
je 0x402f13
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.00403460
test al, al
je 0x402f64
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.00403460
test al, al
je 0x402fb5
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.00403460
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test al, al
je 0x403024
mov eax, dword [esp + 0x14]
push 0x484d5c
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 0x403024
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403460
test al, al
je 0x40308d
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 0x40308d
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403460
test al, al
je 0x4030f6
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 0x4030f6
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403460
test al, al
je 0x40314c
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.00403300
push 0x484d5c
push 0xa0
lea ecx, [esp + 0x18]
call fcn.00403230
push 0x409
push 0xba
lea ecx, [esp + 0x18]
call fcn.004033b0
lea edx, [esp + 0x10]
push 1
push edx
push str.Microsoft.Jet.OLEDB.4.0
lea ecx, [esp + 0x14]
call fcn.004034d0
mov esi, eax
cmp esi, ebx
jl 0x4031b2
mov ecx, dword [esp + 0xc]
push ebx
lea eax, [esp + 0xc]
push ebx
push eax
add ecx, 0x1cc
call fcn.00403660
mov esi, eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], bl
call fcn.004031f0
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0xffffffff
call fcn.00403b00
mov ecx, dword [esp + 0x28]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret