Function at 0x423bd0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4bda54
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
lea eax, [esp + 8]
push edi
mov edi, ecx
push eax
call fcn.00438810
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0x28], ebx
call fcn.00439400
mov ecx, dword [edi + 4]
lea esi, [edi + 4]
push ecx
lea ecx, [esp + 0x14]
call fcn.004a9c8d
mov eax, dword [0x4ff19c]
mov edx, dword [esp + 0xc]
push eax
push edx
mov byte [esp + 0x30], 1
call fcn.00474eb8
add esp, 8
test eax, eax
jne 0x423c86
push 0xf4
call fcn.004aa1e0
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x28], 2
je 0x423c77
push ebx
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.004a9994
mov ecx, dword [esi]
push ecx
mov ecx, edi
call fcn.00411360
push ebx
mov esi, eax
mov byte [esp + 0x2c], 1
push 0x69
jmp 0x423f95
push ebx
xor esi, esi
mov byte [esp + 0x2c], 1
push 0x69
jmp 0x423f95
mov eax, dword [0x4ff1a0]
mov edx, dword [esp + 0xc]
push eax
push edx
call fcn.00474eb8
add esp, 8
test eax, eax
jne 0x423d5e
lea esi, [edi + 0x10]
mov ecx, esi
call fcn.00423fd0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.004a9994
lea ecx, [esp + 0x20]
call fcn.0040ce50
push str.EXCLUSIVE
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c], 3
call fcn.00438770
test eax, eax
jle 0x423d13
push 0xc8
call fcn.004aa1e0
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x28], 4
je 0x423d07
push ebx
push esi
mov ecx, eax
call fcn.00414980
push ebx
mov esi, eax
mov byte [esp + 0x2c], 3
push 0x6c
jmp 0x423d44
push ebx
xor esi, esi
mov byte [esp + 0x2c], 3
push 0x6c
jmp 0x423d44
push 0x110
call fcn.004aa1e0
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x28], 5
je 0x423d3a
push ebx
push esi
mov ecx, eax
call fcn.004150e0
mov esi, eax
jmp 0x423d3c
xor esi, esi
push ebx
mov byte [esp + 0x2c], 3
push 0x6d
mov ecx, esi
call fcn.00434080
lea ecx, [esp + 0x1c]
mov byte [esp + 0x28], 1
call fcn.004a9c1f
jmp 0x423f9c
mov eax, dword [0x4ff1a4]
push eax
mov eax, dword [esp + 0x10]
push eax
call fcn.00474eb8
add esp, 8
test eax, eax
jne 0x423f04
push 0x3a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.noaskdrive
call fcn.004a9c8d
mov ecx, esi
call fcn.00438180
cmp eax, ebx
je 0x423eae
push 0x3a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.noaskdir
call fcn.004a9c8d
mov ecx, esi
call fcn.00438180
cmp eax, ebx
je 0x423eae
mov eax, dword [0x4f5b3c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
push 1
push ebx
lea ecx, [esp + 0x20]
push 0x3a
push ecx
push ebx
mov ecx, esi
mov byte [esp + 0x3c], 7
call fcn.00437e10
push str.Defaultdir:
mov ecx, esi
call fcn.00438770
cmp eax, 0xffffffff
jle 0x423e11
push str._DEFAULTDIR_
lea ecx, [esp + 0x18]
call fcn.004a9d5c
lea edx, [esp + 0x18]
mov ecx, 0x4ff318
push edx
call fcn.004a9d0c
jmp 0x423e3c
push str._DIR
lea ecx, [esp + 0x18]
call fcn.004a9d5c
mov eax, dword [esi]
mov cl, byte [eax + 3]
push ecx
lea ecx, [esp + 0x18]
call fcn.004a9fd6
push 0x4f07b0
lea ecx, [esp + 0x18]
call fcn.004a9faf
lea ecx, [esp + 0x18]
call fcn.004343e0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
mov ecx, 0x4ff2b0
call fcn.004a94f6
mov ecx, eax
call fcn.004a9d5c
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 6
call fcn.004a9c1f
lea ecx, [esp + 0x18]
mov byte [esp + 0x28], 1
call fcn.004a9c1f
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], bl
call fcn.004a9c1f
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call fcn.004a9c1f
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret
push 0xbc
call fcn.004aa1e0
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x28], 8
je 0x423ef5
push ebx
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.004a9994
mov eax, dword [esi]
mov ecx, edi
push eax
call fcn.00412080
push ebx
mov esi, eax
mov byte [esp + 0x2c], 1
push 0x6a
jmp 0x423f95
push ebx
xor esi, esi
mov byte [esp + 0x2c], 1
push 0x6a
jmp 0x423f95
mov eax, dword [0x4ff1a8]
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.00474eb8
add esp, 8
test eax, eax
push 0xa8
jne 0x423f59
call fcn.004aa1e0
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x28], 9
je 0x423f4d
add edi, 0x10
push ebx
push edi
mov ecx, eax
call fcn.00410820
push ebx
mov esi, eax
mov byte [esp + 0x2c], 1
push 0x68
jmp 0x423f95
push ebx
xor esi, esi
mov byte [esp + 0x2c], 1
push 0x68
jmp 0x423f95
call fcn.004aa1e0
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x28], 0xa
je 0x423f8b
mov edx, dword [esi]
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.004a9c8d
mov ecx, edi
call fcn.00410c10
mov esi, eax
jmp 0x423f8d
xor esi, esi
push ebx
mov byte [esp + 0x2c], 1
push 0x72
mov ecx, esi
call fcn.00434080
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], bl
call fcn.004a9c1f
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call fcn.004a9c1f
mov ecx, dword [esp + 0x20]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x20
ret