Function at 0x10001ab0
Capabilities:
Create directory

Disassembly:
sub esp, 0x524
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], 0
call fcn.10002f20
push 1
mov ebp, eax
call fcn.100055d0
add esp, 4
mov ebx, eax
lea eax, [esp + 0x10]
push ebx
push eax
call fcn.100031d0
add esp, 8
test eax, eax
jne 0x10002390
mov edi, dword [esp + 0x540]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x124]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x5c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x128]
push ecx
call fcn.10005e40
add esp, 8
test eax, eax
je 0x10001b2d
mov byte [eax], 0
lea edx, [esp + 0x14]
push 0
push edx
call fcn.10002cc0
add esp, 8
test eax, eax
je 0x10001eaf
mov eax, dword [esp + 0x14]
add eax, 0xffffffb0
cmp eax, 6
ja case.0x10001b54.84
jmp dword [eax*4 + 0x100023a0]
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10004180
add esp, 4
mov ebx, 0x1000d460
test eax, eax
jne 0x10001b76
mov ebx, 0x1000d250
mov edi, 0x1000d9f0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, 6
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x1000d9ec]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x18], 0x1000d5c0
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov cl, byte [0x1000d9ee]
push esi
mov dword [esp + 0x20], 3
mov word [esp + 0x24], ax
mov byte [esp + 0x26], cl
call fcn.10005670
add esp, 4
jmp 0x10002211
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
jne 0x10001e92
mov edi, str.801
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x124]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1000d9e0]
mov ecx, edx
and ecx, 3
mov ebx, 0x1000d270
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov ebp, 0xb
push esi
mov dword [esp + 0x1c], 0x1000d5c0
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], eax
call fcn.10005670
add esp, 4
jmp 0x10002211
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10001c7f
mov ebx, 0x1000d480
mov ebp, 0xa
jmp 0x10001c89
mov ebx, 0x1000d2a0
mov ebp, 0xb
mov edi, str.802
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], 0x1000d5c0
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1000d9d4]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x1c], 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov dword [esp + 0x20], eax
push esi
call fcn.10005670
add esp, 4
jmp 0x10002211
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10001d05
mov ebx, 0x1000d4b0
mov ebp, 0xa
jmp 0x10001d0f
mov ebx, 0x1000d2d0
mov ebp, 0xb
mov edi, str.803
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], 0x1000d5d0
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1000d9c8]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x1c], 8
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov dword [esp + 0x20], eax
push esi
call fcn.10005670
add esp, 4
jmp 0x10002211
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10001d8b
mov ebx, 0x1000d500
mov ebp, 5
jmp 0x10001d95
mov ebx, 0x1000d328
mov ebp, 6
mov edi, str.98omi
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], 0x1000d5f8
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1000d9b8]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x1c], 5
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov cx, word [0x1000d9bc]
push esi
mov dword [esp + 0x24], eax
mov word [esp + 0x28], cx
call fcn.10005670
add esp, 4
jmp 0x10002211
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10001e1d
mov ebx, 0x1000d4e0
mov ebp, 7
jmp 0x10001e27
mov ebx, 0x1000d300
mov ebp, 8
mov edi, str.98mapi
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], 0x1000d5d0
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [str.98map]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x1c], 8
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x538]
mov cx, word [0x1000d9ac]
push esi
mov dword [esp + 0x24], eax
mov word [esp + 0x28], cx
call fcn.10005670
add esp, 4
jmp 0x10002211
mov esi, dword [esp + 0x538]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
push esi
call fcn.10005670
add esp, 4
jmp 0x10002211
call fcn.10002f90
test eax, eax
je 0x100021ef
lea edx, [esp + 0x14]
push ebx
push edx
call fcn.10003000
add esp, 8
test eax, eax
je 0x100021ef
mov eax, dword [esp + 0x14]
add eax, 0xffffffd8
cmp eax, 0xc
ja case.0x10001ee2.42
jmp dword [eax*4 + 0x100023bc]
mov edi, str.ex40
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, 0x1000d3b0
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x1000d99c]
mov ecx, edx
and ecx, 3
mov ebp, 9
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x1000d99e]
mov word [esp + 0x20], ax
mov byte [esp + 0x22], cl
jmp 0x100021c0
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
mov ebx, 0x1000d548
test eax, eax
jne 0x10001f59
mov ebx, 0x1000d3d8
mov edi, str.ex40a
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, 9
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1000d990]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x20], eax
rep movsb byte es:[edi], byte [esi]
jmp 0x100021c0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10001fba
mov ebx, 0x1000d570
mov ebp, 9
jmp 0x10001fc4
mov ebx, 0x1000d400
mov ebp, 0xa
mov edi, str.ex40sp3
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [str.40sp3]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x20], eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x1000d980]
jmp 0x100021bb
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10002027
mov ebx, 0x1000d598
mov ebp, 9
jmp 0x10002031
mov ebx, 0x1000d430
mov ebp, 0xa
mov edi, str.ex40sp4
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [str.40sp4]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x20], eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x1000d96c]
jmp 0x100021bb
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10002094
mov ebx, 0x1000d518
mov ebp, 0xa
jmp 0x1000209e
mov ebx, 0x1000d380
mov ebp, 0xb
mov edi, str.ex50
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x1000d95c]
mov ecx, edx
and ecx, 3
mov word [esp + 0x20], ax
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x1000d95e]
mov byte [esp + 0x22], cl
jmp 0x100021c0
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10002106
mov ebx, 0x1000d518
mov ebp, 0xa
jmp 0x10002110
mov ebx, 0x1000d380
mov ebp, 0xb
mov edi, str.ex50sp1
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [str.50sp1]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x20], eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x1000d94c]
jmp 0x100021bb
mov edx, dword [esp + 0x10]
push edx
call fcn.10004180
add esp, 4
test eax, eax
je 0x10002170
mov ebx, 0x1000d518
mov ebp, 0xa
jmp 0x1000217a
mov ebx, 0x1000d380
mov ebp, 0xb
mov edi, str.ex50sp2
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [str.50sp2]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x20], eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x1000d938]
mov word [esp + 0x24], cx
mov dword [esp + 0x18], str.newprof.exe
mov dword [esp + 0x1c], 5
jmp 0x1000220a
mov eax, ebp
neg eax
sbb eax, eax
and eax, 0x1ffff000
add eax, 0xe0001000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc
test ebp, ebp
je 0x10002202
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x538]
cmp word [esp + 0x10], 0x409
jne 0x1000226c
lea edx, [esp + 0x20]
push str..cab
lea eax, [esp + 0x128]
push edx
push eax
lea ecx, [esp + 0x234]
push 0x1000d924
push ecx
call fcn.10005dd0
add esp, 0x14
lea edx, [esp + 0x228]
push esi
push edx
call fcn.10004930
add esp, 8
test eax, eax
je 0x10002390
mov eax, 0xe0001000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc
push str.patch
push esi
lea eax, [esp + 0x334]
push 0x1000d914
push eax
call fcn.10005dd0
add esp, 0x10
lea ecx, [esp + 0x32c]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [esp + 0x20]
push str..cab
lea eax, [esp + 0x128]
push edx
push eax
lea ecx, [esp + 0x234]
push 0x1000d924
push ecx
call fcn.10005dd0
add esp, 0x14
lea edx, [esp + 0x32c]
lea eax, [esp + 0x228]
push edx
push eax
call fcn.10004930
add esp, 8
test eax, eax
je 0x100022ec
mov eax, 0xe0001000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x430]
push ecx
push edx
call fcn.100046b0
add esp, 8
lea eax, [esp + 0x430]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x124]
push str..cab
push eax
push ecx
push edx
lea eax, [esp + 0x238]
push 0x1000d908
push eax
call fcn.10005dd0
add esp, 0x18
lea ecx, [esp + 0x32c]
lea edx, [esp + 0x228]
push ecx
push edx
call fcn.10004930
add esp, 8
test eax, eax
je 0x1000235e
mov eax, 0xe0001000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc
push ebx
lea eax, [esp + 0x330]
push ebp
push eax
push esi
call fcn.10004960
add esp, 0x10
test eax, eax
jne 0x10002390
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
lea eax, [esp + 0x330]
push edx
push eax
push esi
call fcn.10004960
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x524
ret 0xc