Function at 0x49b96a
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
call fcn.0047cfd9
cmp byte [0x88da29], 0
je 0x49bf22
and byte [ebp - 0x3f], 0xfe
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
push ebx
push esi
push edi
mov ecx, 0x51e918
mov dword [ebp - 0x4c], 0x50fa3c
mov byte [ebp - 0x40], 0
call fcn.0049a53c
push eax
lea ecx, [ebp - 0x20]
call fcn.004a0fd9
lea ecx, [ebp - 0x20]
call fcn.004a0ff9
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c80c
cmp eax, 1
jg 0x49b9d0
cmp byte [ebp - 0x40], 5
jne 0x49b9d0
lea edi, [ebp - 0x4c]
jmp 0x49b9da
lea ecx, [ebp - 0x4c]
call fcn.0040b22d
mov edi, eax
mov ebx, dword [edi + 8]
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
mov esi, 0x52b508
jmp 0x49ba06
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
jbe 0x49ba04
cmp dword [ebp - 4], 2
jne 0x49ba01
inc dword [ebp - 8]
inc dword [ebp - 0x10]
mov ebx, eax
push esi
mov ecx, edi
call fcn.0040c2fc
mov eax, dword [edi + 8]
cmp ebx, eax
jne 0x49b9ef
and dword [ebp - 4], 0
mov ebx, eax
mov esi, 0x52b4fc
jmp 0x49ba39
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
jbe 0x49ba37
cmp dword [ebp - 4], 2
jne 0x49ba34
inc dword [ebp - 8]
inc dword [ebp - 0x10]
mov ebx, eax
push esi
mov ecx, edi
call fcn.0040c2fc
mov eax, dword [edi + 8]
cmp ebx, eax
jne 0x49ba22
mov ecx, dword [0x56b7f4]
test ecx, ecx
je 0x49ba67
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x49ba57
sub eax, esi
je 0x49ba67
call fcn.00453f56
lea ecx, [ebp - 0x74]
call fcn.004fd876
lea edx, [ebp - 0x60]
xor eax, eax
mov esi, dword [edx - 0x14]
xor ebx, ebx
sub esi, dword [eax + 0x8902e4]
lea ecx, [eax + 0x890294]
sbb ebx, dword [eax + 0x8902e8]
add dword [ecx], esi
mov esi, dword [edx]
adc dword [ecx + 4], ebx
xor ebx, ebx
sub esi, dword [eax + 0x8902bc]
lea ecx, [eax + 0x89026c]
sbb ebx, dword [eax + 0x8902c0]
add dword [ecx], esi
adc dword [ecx + 4], ebx
mov ecx, dword [edx - 0x14]
mov dword [eax + 0x8902e4], ecx
xor ecx, ecx
mov dword [eax + 0x8902e8], ecx
mov ecx, dword [edx]
mov dword [eax + 0x8902bc], ecx
xor ecx, ecx
mov dword [eax + 0x8902c0], ecx
add eax, 8
add edx, 4
cmp eax, 0x28
jb 0x49ba74
and dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x559820]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 8]
mov dword [ebp - 0xc], eax
jmp 0x49bda1
mov esi, dword [edi + 8]
xor ebx, ebx
jmp 0x49bb0b
inc ebx
cmp ebx, 1
jbe 0x49bb09
cmp ebx, 2
jne 0x49bb06
inc dword [ebp - 8]
inc dword [ebp - 0x10]
mov esi, eax
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c2fc
mov eax, dword [edi + 8]
cmp esi, eax
jne 0x49baf8
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 4]
mov eax, dword [ebp - 0x24]
movzx esi, dx
add esi, dword [eax]
movzx eax, word [ecx + 6]
and eax, 0xf
cmp eax, 6
jg 0x49bc55
je 0x49bc3a
test eax, eax
je 0x49bbd3
jle 0x49bd9a
cmp eax, 3
jle 0x49bb86
cmp eax, 4
je 0x49bb69
cmp eax, 5
jne 0x49bd9a
push dword [esi + 4]
push dword [esi]
jmp 0x49bb70
mov eax, dword [ebp - 0xc]
push dword [eax + 8]
push esi
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b1e3
jmp 0x49bd9a
cmp eax, 2
je 0x49bb90
cmp eax, 3
jne 0x49bb95
movzx esi, byte [esi]
jmp 0x49bb97
mov esi, dword [esi]
mov eax, 0x11e
cmp dx, ax
je 0x49bbbc
mov ecx, dword [ebp - 0xc]
call fcn.0049a71c
mov ecx, eax
mov eax, esi
mov ebx, edx
cdq
cmp eax, ecx
jne 0x49bbbc
cmp edx, ebx
je 0x49bd90
push esi
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b168
jmp 0x49bd9a
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x49bbdf
mov eax, 0x517834
mov esi, dword [esi]
mov edx, esi
test esi, esi
jne 0x49bbec
mov edx, 0x517834
mov ecx, eax
mov eax, edx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x49bc16
test dx, dx
je 0x49bc12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x49bc16
add eax, 4
add ecx, 4
test dx, dx
jne 0x49bbf0
xor eax, eax
jmp 0x49bc1b
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, edi
test eax, eax
je 0x49bd92
push esi
push dword [ebp - 4]
call fcn.0040c186
mov ecx, eax
call fcn.0040b1b9
jmp 0x49bd9a
push dword [esi + 4]
mov ecx, edi
push dword [esi]
push dword [ebp - 4]
call fcn.0040c186
mov ecx, eax
call fcn.0040b153
jmp 0x49bd9a
sub eax, 7
je 0x49bd38
dec eax
je 0x49bd01
dec eax
je 0x49bc93
sub eax, 6
jne 0x49bd9a
push 1
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b22d
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov edx, esi
call dword [eax + 0x14]
jmp 0x49bd9a
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b22d
mov ebx, eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.00448d5b
add esi, 4
jmp 0x49bce1
mov ecx, dword [ebp - 0x2c]
push dword [ecx + 0x18]
add ecx, 0x14
call fcn.004a0e99
push eax
mov ecx, ebx
call fcn.0040c186
mov ecx, eax
call fcn.0040b168
push 0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004a0e09
push 0
push esi
lea ecx, [ebp - 0x34]
call fcn.004a0d87
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004a0e33
test al, al
jne 0x49bcb6
jmp 0x49bd9a
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b21e
xor ebx, ebx
mov dword [ebp - 4], eax
cmp dword [esi + 8], ebx
je 0x49bd9a
mov eax, dword [esi]
push dword [eax + ebx*4]
mov ecx, dword [ebp - 4]
call fcn.0040b2de
mov ecx, eax
call fcn.0040b1b9
inc ebx
cmp ebx, dword [esi + 8]
jne 0x49bd1c
jmp 0x49bd9a
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x49bd44
mov eax, 0x510d20
mov esi, dword [esi]
mov edx, esi
test esi, esi
jne 0x49bd51
mov edx, 0x510d20
mov ecx, eax
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49bd73
test dl, dl
je 0x49bd6f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49bd73
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x49bd55
xor eax, eax
jmp 0x49bd78
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49bd90
push esi
push dword [ebp - 4]
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b17a
jmp 0x49bd9a
mov ecx, edi
push dword [ebp - 4]
call fcn.0040c2fc
add dword [ebp - 0xc], 0x18
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 4], eax
test eax, eax
jne 0x49baf1
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x14], 0x14
jb 0x49bada
mov ecx, edi
call fcn.00491f5d
push 0x52b4f0
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b22d
mov ecx, eax
call fcn.004a49f6
mov ecx, edi
call fcn.004391f9
push 0x52b4e8
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b22d
mov ecx, eax
call fcn.004a4cec
push 0x52b4dc
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b21e
mov ecx, eax
call fcn.0042585d
push 0x528ea8
mov ecx, edi
call fcn.0040c186
mov ecx, eax
call fcn.0040b22d
push eax
mov ecx, 0x88ddb0
call fcn.0042c863
lea eax, [ebp - 0x1c]
xor ebx, ebx
push eax
mov ecx, edi
mov dword [ebp - 0x1c], ebx
call fcn.0040c347
mov esi, eax
cmp byte [0x88da30], bl
jne 0x49be6e
xor eax, eax
cmp ax, word [0x88d7d8]
je 0x49be6e
push ebx
push 0x88d7d8
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov byte [0x88da30], 1
mov ecx, 0x51e918
call fcn.0049a53c
push eax
lea ecx, [ebp - 0x18]
call fcn.004a0fd9
call fcn.004b859b
lea ecx, [ebp - 0x4c]
mov dword [0x88f808], eax
mov dword [0x88f80c], edx
call fcn.0040baef
lea eax, [ebp - 0x4c]
push eax
push 0x40c7ed
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
call fcn.004a0ff9
mov edx, esi
mov ecx, eax
call fcn.004b7d0d
or byte [0x88da28], al
mov dl, 1
mov ecx, esi
call fcn.00479b79
cmp dword [ebp - 8], ebx
je 0x49bee6
lea ecx, [ebp - 0x18]
call fcn.004a0ff9
push eax
push dword [ebp - 0x10]
push dword [ebp - 8]
push 0x52b440
call fcn.004263e6
add esp, 0x10
mov edx, dword [0x88f85c]
pop edi
pop esi
cmp edx, ebx
pop ebx
je 0x49befe
mov ecx, dword [0x88f858]
call fcn.00469e58
call fcn.00469c1e
lea ecx, [ebp - 0x18]
call fcn.004a0c7d
lea ecx, [ebp - 0x20]
call fcn.004a0c7d
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x50fa3c
call fcn.0040ba32
call fcn.0047cff8
leave
ret