Function at 0x402e70
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x44ff40
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 [0x45b94c]
mov ecx, dword [0x45b950]
mov edx, dword [0x45b954]
mov dword [esp + 0x18], eax
mov eax, dword [0x45b958]
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.00403470
test al, al
mov esi, 0xb
je 0x402f23
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.00403470
test al, al
je 0x402f74
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.00403470
test al, al
je 0x402fc5
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.00403470
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test al, al
je 0x403034
mov eax, dword [esp + 0x14]
push 0x46cf2c
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 0x403034
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403470
test al, al
je 0x40309d
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 0x40309d
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403470
test al, al
je 0x403106
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 0x403106
inc eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00403470
test al, al
je 0x40315c
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.00403310
push 0x46cf2c
push 0xa0
lea ecx, [esp + 0x18]
call fcn.00403240
push 0x409
push 0xba
lea ecx, [esp + 0x18]
call fcn.004033c0
lea edx, [esp + 0x10]
push 1
push edx
push str.Microsoft.Jet.OLEDB.4.0
lea ecx, [esp + 0x14]
call fcn.004034e0
mov esi, eax
cmp esi, ebx
jl 0x4031c2
mov ecx, dword [esp + 0xc]
push ebx
lea eax, [esp + 0xc]
push ebx
push eax
add ecx, 0x1cc
call fcn.00403670
mov esi, eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], bl
call fcn.00403200
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0xffffffff
call fcn.00404750
mov ecx, dword [esp + 0x28]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret