Function at 0x407920
Capabilities:
Create directory
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x394
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x149]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
lea eax, [ebp - 0x24e]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
lea eax, [ebp - 0x353]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x368], 0
mov word [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x37c], 1
call fcn.004046e0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x380], 0xf984abe8
lea edi, [ebp - 0x368]
jmp 0x407a40
mov dword [ebp - 0x380], 0xc0a26f58
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x380]
cmp eax, 0x978563fc
jg 0x407a60
cmp eax, 0x87ada3c5
jne 0x407a40
jmp 0x407a28
cmp eax, 0x9dfdbab6
jg 0x407a80
cmp eax, 0x978563fd
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0xae5f3620
jg 0x407aa7
cmp eax, 0x9dfdbab7
jne 0x407a40
mov al, byte [ebp - 0x11]
test al, al
mov eax, 0x2fad4118
jne 0x407a9f
mov eax, 0x5940d869
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x7f6e298c
jg 0x407acf
cmp eax, 0xb00cab26
jg 0x407c2b
cmp eax, 0xae5f3621
jne 0x407a40
mov dword [ebp - 0x380], 0xde58f944
jmp 0x407a40
cmp eax, 0x7f6e298d
jne 0x407a40
mov eax, dword [0x4b50e8]
movzx eax, byte [eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b50e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b50e8]
mov edx, dword [ebp - 0x30]
lea ebx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00402d50
lea eax, [ebp - 0x24e]
mov edi, eax
mov dword [esp], edi
mov dword [esp + 4], 0x105
call fcn.004047d0
lea esi, [ebp - 0x149]
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x105
call fcn.00405a50
mov dword [esp], esi
call fcn.00404fe0
mov dword [ebp - 0x40], eax
mov eax, dword [0x4b50ec]
movzx eax, byte [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b50ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x4b50ec]
mov edx, dword [ebp - 0x38]
lea ebx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea ebx, [ebp - 0x374]
mov dword [esp], ebx
call fcn.00402d50
mov eax, dword [ebp - 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea eax, [ebp - 0x353]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.00404b80
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
mov edx, 0x105
sub edx, ecx
lea ecx, [ebp + ecx - 0x353]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x368]
mov dword [esp + 8], eax
mov edi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404b80
mov esi, dword [ebp - 0x38]
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403a70
mov dword [ebp - 0x28], eax
mov ecx, 0x78173e9f
test eax, eax
je 0x407c20
mov ecx, 0xb00cab27
mov dword [ebp - 0x380], ecx
jmp 0x407a40
cmp eax, 0xb79547c0
jg 0x407c70
cmp eax, 0xb00cab27
jne 0x407a40
lea eax, [ebp - 0x353]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0x2eb009d1
je 0x407c65
mov eax, 0xc1cb9f1d
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x7968432d
jg 0x407cc5
cmp eax, 0x78173e9e
jg 0x407cdf
cmp eax, 0x74ec9e5b
jg 0x407cf9
cmp eax, 0xb84daa3c
jg 0x407d25
cmp eax, 0xb79547c1
jne 0x407a40
mov eax, dword [ebp - 0x44]
dec eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.00416dc7
mov dword [ebp - 0x380], 0xc0a26f58
jmp 0x407a40
cmp eax, 0x7968432e
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0x78173e9f
jne 0x407a40
mov dword [ebp - 0x380], 0x27c28
jmp 0x407a40
cmp eax, 0x74ec9e5c
jne 0x407a40
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004073c0
mov dword [ebp - 0x380], 0x1d0cf69c
jmp 0x407a40
cmp eax, 0xb932d303
jg 0x407d52
cmp eax, 0xb84daa3d
jne 0x407a40
mov eax, 0x515ce556
cmp dword [ebp - 0x2c], 0
jne 0x407d47
mov eax, 0x1f8ab5ea
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0xc0a26f57
jg 0x407d82
cmp eax, 0xb932d304
jne 0x407a40
mov ecx, dword [ebp - 0x20]
mov eax, 0xe3eeb83a
cmp dword [ecx + 4], 0
je 0x407d77
mov eax, 0xea8f7183
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0xc1cb9f1c
jg 0x407dc4
cmp eax, 0xc0a26f58
jne 0x407a40
mov eax, dword [ebp - 0x44]
dec eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.00416dc7
test eax, eax
setne byte [ebp - 0x12]
mov dword [ebp - 0x380], 0x40571b3e
jmp 0x407a40
cmp eax, 0xc6b22851
jg 0x407e20
cmp eax, 0xc1cb9f1d
jne 0x407a40
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0x14]
neg ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x378], 0
call fcn.0040e200
lea eax, [ebp - 0x149]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0xc6b22852
je 0x407e15
mov eax, 0x87ada3c5
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0xc9983184
jg 0x407e41
cmp eax, 0xc6b22852
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0xd4e2f59d
jg 0x407e62
cmp eax, 0xc9983185
jne 0x407a40
mov dword [ebp - 0x380], 0x1d0cf69c
jmp 0x407a40
cmp eax, 0xde58f943
jg 0x407e8a
cmp eax, 0xd4e2f59e
jne 0x407a40
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x380], 0xae5f3621
jmp 0x407a40
cmp eax, 0xe3eeb839
jg 0x407eb1
cmp eax, 0xde58f944
jne 0x407a40
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x380], 0xbca82dc
jmp 0x407a40
cmp eax, 0xea8f7182
jg 0x407ed2
cmp eax, 0xe3eeb83a
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0xf984abe7
jg 0x407f26
cmp eax, 0xea8f7183
jne 0x407a40
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00409f90
mov dword [0x4c8d40], eax
mov ecx, 0x71a61e9
test eax, eax
je 0x407f1b
mov ecx, 0x714226e1
mov dword [ebp - 0x380], ecx
jmp 0x407a40
cmp eax, 0x27c27
jg 0x407f53
cmp eax, 0xf984abe8
jne 0x407a40
mov eax, 0x7968432e
cmp dword [ebp - 0x18], 0
je 0x407f48
mov eax, 0x7f6e298d
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x71a61e8
jg 0x407f74
cmp eax, 0x27c28
jne 0x407a40
mov dword [ebp - 0x380], 0x978563fd
jmp 0x407a40
cmp eax, 0xbca82db
jg 0x407f95
cmp eax, 0x71a61e9
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0x10e50c52
jg 0x407fac
cmp eax, 0xbca82dc
jne 0x407a40
jmp 0x40821e
cmp eax, 0x17236ca4
jg 0x407fcd
cmp eax, 0x10e50c53
jne 0x407a40
mov dword [ebp - 0x380], 0x53a6201d
jmp 0x407a40
cmp eax, 0x1d0cf69b
jg 0x407fee
cmp eax, 0x17236ca5
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0x1f636f18
jg 0x408027
cmp eax, 0x1d0cf69c
jne 0x407a40
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004073c0
test eax, eax
sets byte [ebp - 0x11]
mov dword [ebp - 0x380], 0x9dfdbab7
jmp 0x407a40
cmp eax, 0x735733fe
jg 0x4080b6
cmp eax, 0x72b5d0fa
jg 0x4080d0
cmp eax, 0x714226e0
jg 0x4080f5
cmp eax, 0x6cbdc92f
jg 0x408129
cmp eax, 0x5940d868
jg 0x408143
cmp eax, 0x53a6201c
jg 0x408175
cmp eax, 0x515ce555
jg 0x40818f
cmp eax, 0x40571b3d
jg 0x4081b4
cmp eax, 0x2fad4117
jg 0x4081db
cmp eax, 0x1f636f19
je 0x4081f5
cmp eax, 0x1f8ab5ea
jne 0x408204
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x380], 0xae5f3621
jmp 0x407a40
cmp eax, 0x735733ff
jne 0x407a40
mov dword [ebp - 0x380], 0xde58f944
jmp 0x407a40
cmp eax, 0x72b5d0fb
jne 0x407a40
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004177b6
mov dword [ebp - 0x380], 0xd4e2f59e
jmp 0x407a40
cmp eax, 0x714226e1
jne 0x407a40
mov eax, dword [0x4c8d44]
mov dword [esp], eax
call dword [0x4c8d40]
mov eax, 0x72b5d0fb
cmp dword [ebp - 0x2c], 0
jne 0x40811e
mov eax, 0xd4e2f59e
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x6cbdc930
jne 0x407a40
mov dword [ebp - 0x380], 0x27c28
jmp 0x407a40
cmp eax, 0x5940d869
jne 0x407a40
mov dword [ebp - 0x37c], 0
mov ecx, dword [ebp - 0x20]
mov eax, 0xe3eeb83a
cmp dword [ecx], 0
je 0x40816a
mov eax, 0xb932d304
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x53a6201d
jne 0x407a40
mov dword [ebp - 0x380], 0x17236ca5
jmp 0x407a40
cmp eax, 0x515ce556
jne 0x407a40
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004177b6
mov dword [ebp - 0x380], 0x1f8ab5ea
jmp 0x407a40
cmp eax, 0x40571b3e
jne 0x407a40
mov al, byte [ebp - 0x12]
test al, al
mov eax, 0x1f636f19
jne 0x4081d0
mov eax, 0xc9983185
mov dword [ebp - 0x380], eax
jmp 0x407a40
cmp eax, 0x2fad4118
jne 0x407a40
mov dword [ebp - 0x380], 0x53a6201d
jmp 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
cmp eax, 0x2eb009d1
jne 0x407a40
mov dword [ebp - 0x380], 0xb84daa3d
jmp 0x407a40
mov eax, dword [ebp - 0x10]
add esp, 0x394
pop esi
pop edi
pop ebx
pop ebp
ret