Function at 0x10021c40
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x254
mov eax, dword [ebp + 8]
push ebx
push esi
lea ecx, [eax + 0x2260]
mov esi, eax
push edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x48], ecx
cmp eax, ecx
ja 0x10021e3e
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
mov edi, edi
cmp esi, 0x27e6
ja 0x10021e48
je 0x10021e0e
cmp esi, 0x24c6
ja 0x10021d6f
je 0x1002215f
cmp esi, 0x2336
ja 0x10021d23
je 0x10021d12
cmp esi, 0x226e
ja 0x10021cf5
je 0x10021ce4
mov eax, esi
sub eax, 0x21a6
je 0x10021ccf
sub eax, 0x64
jne 0x10021e2f
mov al, byte [ebx + 2]
mov cl, byte [ebx + 3]
mov byte [ebp - 0x16], al
mov byte [ebp - 0x13], cl
jmp 0x10021e2f
mov ebx, str.hdrteHAteGloaSPF
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x12], 0x68
mov byte [ebp - 0x18], 0x64
jmp 0x10021e2f
mov al, byte [ebx + 4]
mov cl, byte [ebx + 5]
mov byte [ebp - 0x17], al
mov byte [ebp - 0x1f], cl
jmp 0x10021e2f
cmp esi, 0x22d2
jne 0x10021e2f
mov al, byte [ebx + 6]
mov cl, byte [ebx + 7]
mov byte [ebp - 0x11], al
mov byte [ebp - 0x1c], cl
jmp 0x10021e2f
mov al, byte [ebx + 8]
mov cl, byte [ebx + 9]
mov byte [ebp - 0x1d], al
mov byte [ebp - 0x1e], cl
jmp 0x10021e2f
mov eax, esi
sub eax, 0x239a
je 0x10021d64
sub eax, 0x64
je 0x10021d53
sub eax, 0x64
jne 0x10021e2f
movzx eax, byte [ebx + 0xd]
mov cl, byte [ebx + 0xe]
mov byte [ebp - 0x20], al
movzx eax, byte [ebx + 0xf]
mov byte [ebp - 0x15], cl
mov byte [ebp - 0x1b], al
jmp 0x10021e2f
mov cl, byte [ebx + 0xb]
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1a], cl
mov byte [ebp - 0x14], al
jmp 0x10021e2f
mov cl, byte [ebx + 0xa]
mov byte [ebp - 0x19], cl
jmp 0x10021e2f
cmp esi, 0x2656
ja 0x10021dcd
je 0x10021dc3
mov eax, esi
sub eax, 0x252a
je 0x10021db2
sub eax, 0x64
je 0x10021d9d
sub eax, 0x64
jne 0x10021e2f
mov ax, word [edi + 8]
mov word [ebp - 0x2c], ax
jmp 0x10021e2f
mov cx, word [edi + 4]
mov ax, word [edi + 6]
mov word [ebp - 0x38], cx
mov word [ebp - 0x3a], ax
jmp 0x10021e2f
mov cx, word [edi]
mov ax, word [edi + 2]
mov word [ebp - 0x3c], cx
mov word [ebp - 0x40], ax
jmp 0x10021e2f
mov cx, word [edi + 0xa]
mov word [ebp - 0x32], cx
jmp 0x10021e2f
mov eax, esi
sub eax, 0x26ba
je 0x10021e04
sub eax, 0x64
je 0x10021dea
sub eax, 0x64
jne 0x10021e2f
mov ax, word [edi + 0x14]
mov word [ebp - 0x3e], ax
jmp 0x10021e2f
movzx ecx, word [edi + 0xe]
mov ax, word [edi + 0x10]
mov word [ebp - 0x30], cx
movzx ecx, word [edi + 0x12]
mov word [ebp - 0x34], ax
mov word [ebp - 0x2e], cx
jmp 0x10021e2f
mov ax, word [edi + 0xc]
mov word [ebp - 0x36], ax
jmp 0x10021e2f
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x40]
xor ecx, ecx
push 0x36c3
push eax
mov word [ebp - 0x2a], cx
call fcn.10030840
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp + 8]
add esi, 0x64
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x48]
jbe 0x10021c70
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x5727
ja 0x100220ac
je 0x10022096
cmp esi, 0x29da
ja 0x10022058
je 0x1002204d
cmp esi, 0x2912
ja 0x10022029
je 0x10021f1a
mov eax, esi
sub eax, 0x284a
je 0x10021ec6
sub eax, 0x64
jne 0x10021e2f
push 0x103
push eax
lea ecx, [ebp - 0x253]
push ecx
mov byte [ebp - 0x254], al
call fcn.10035cf0
lea edx, [ebp - 0x150]
push edx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x254]
push ecx
call fcn.10034e00
add esp, 0x18
jmp 0x10021e2c
push 0x4c
call fcn.10012330
add esp, 4
test eax, eax
je 0x10021ee9
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
jmp 0x10021eeb
xor eax, eax
lea edx, [ebp - 8]
push edx
lea ecx, [ebp - 0x44]
push ecx
mov dword [ebp - 0xc], eax
add eax, 0x28
push 0x701c
push eax
mov dword [ebp - 0x44], 0x21
mov dword [ebp - 8], 0
call fcn.10029100
add esp, 0x10
jmp 0x10021e2c
lea edx, [ebp - 0x150]
push edx
push 0
push 0
push 0x1a
push 0
call dword [ebp - 0x4c]
test eax, eax
js 0x10021e2c
mov ebx, 0x144a
lea esp, [esp]
mov eax, ebx
sub eax, 0x144a
je 0x10021fa7
sub eax, 0x3b
jne 0x10022012
lea eax, [ebp - 0x150]
lea edx, [eax + 1]
jmp 0x10021f60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10021f60
sub eax, edx
add eax, 2
push eax
call fcn.10011d10
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x24], eax
add esp, 4
lea ecx, [ebp - 0x150]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10021f83
mov edx, dword [ebp - 0xc]
mov edi, dword [edx + 0x24]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10021f94
mov ax, word [0x100373e0]
mov word [edi], ax
jmp 0x1002200f
lea edi, [ebp - 0x150]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10021fb0
mov cx, word [0x100373e0]
push 0
push 0x2d1f
push 0
mov word [edi], cx
call fcn.1000aac0
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10021fd5
lea edi, [ebp - 0x150]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10021fe7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
lea edx, [ebp - 0x150]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
add ebx, 0x3b
cmp ebx, 0x1485
jbe 0x10021f40
mov ebx, dword [ebp - 0x28]
jmp 0x10021e2c
cmp esi, 0x2976
jne 0x10021e2f
mov eax, dword [ebp - 0xc]
push eax
push 0x5184
push 0
call fcn.10021170
add esp, 0xc
jmp 0x10021e2c
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jmp 0x10021e2f
mov eax, esi
sub eax, 0x2a3e
je 0x10021e3e
sub eax, 0x2c21
je 0x10022082
sub eax, 0x64
jne 0x10021e2f
mov al, byte [edx + 1]
mov byte [0x1013a053], al
jmp 0x10021e2f
mov edx, str.DtgeatualPniG
mov dword [ebp + 8], edx
mov byte [0x1013a051], 0x44
jmp 0x10021e2f
mov cl, byte [edx + 2]
mov byte [0x1013a04e], cl
mov al, byte [edx + 3]
mov byte [0x1013a049], al
jmp 0x10021e2f
cmp esi, 0x58b7
ja 0x10022116
je 0x10022109
mov eax, esi
sub eax, 0x578b
je 0x100220e8
sub eax, 0x64
je 0x100220db
sub eax, 0x64
jne 0x10021e2f
mov cl, byte [edx + 8]
mov byte [0x1013a04c], cl
jmp 0x10021e2f
mov al, byte [edx + 7]
mov byte [0x1013a054], al
jmp 0x10021e2f
movzx ecx, byte [edx + 4]
mov byte [0x1013a052], cl
mov al, byte [edx + 5]
mov byte [0x1013a04a], al
movzx ecx, byte [edx + 6]
mov byte [0x1013a04d], cl
jmp 0x10021e2f
mov al, byte [edx + 9]
mov byte [0x1013a04b], al
jmp 0x10021e2f
mov eax, esi
sub eax, 0x591b
je 0x10022186
sub eax, 0x64
je 0x10022170
sub eax, 0x64
jne 0x10021e2f
mov ecx, 0x434e
mov eax, ecx
sub eax, 0x434e
je 0x10022146
sub eax, 0x12
je 0x10021e3e
jmp 0x10022154
mov byte [0x1013a055], 0
mov dword [ebp - 4], 0x1013a048
add ecx, 0x12
cmp ecx, 0x4360
jbe 0x10022132
mov edi, str.eslll.3d2lh
mov byte [ebp - 0x10], 0
mov dword [ebp - 0x24], edi
jmp 0x10021e2f
mov cl, byte [edx + 0xb]
mov byte [0x1013a04f], cl
mov al, byte [edx + 0xc]
mov byte [0x1013a048], al
jmp 0x10021e2f
mov cl, byte [edx + 0xa]
mov byte [0x1013a050], cl
jmp 0x10021e2f