Function at 0x407bd0
Capabilities:
Create directory
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x398
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.00417890
lea eax, [ebp - 0x24e]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417890
lea ebx, [ebp - 0x353]
mov dword [esp], ebx
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417890
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.00403fb0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x380], 0xc68d82b3
lea esi, [ebp - 0x368]
lea edi, [ebp - 0x374]
jmp 0x407cf0
mov dword [ebp - 0x380], 0x971220da
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x380]
cmp eax, 0x9153d263
jg 0x407d10
cmp eax, 0x8a08ac0b
jne 0x407cf0
jmp 0x407cde
cmp eax, 0x971220d9
jg 0x407d30
cmp eax, 0x9153d264
jne 0x407cf0
mov dword [ebp - 0x380], 0xf449084a
jmp 0x407cf0
cmp eax, 0x7bf72b93
jg 0x407d5d
cmp eax, 0x97ba2b94
jg 0x407d70
cmp eax, 0x971220da
jne 0x407cf0
mov eax, 0xe8ef17e6
cmp dword [ebp - 0x2c], 0
jne 0x407d55
mov eax, 0x10b7757b
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x7bf72b94
jne 0x407cf0
mov dword [ebp - 0x380], 0x2c73c520
jmp 0x407cf0
cmp eax, 0x9db69839
jg 0x407d91
cmp eax, 0x97ba2b95
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0xa0807d94
jg 0x407db2
cmp eax, 0x9db6983a
jne 0x407cf0
mov dword [ebp - 0x380], 0xd7212d83
jmp 0x407cf0
cmp eax, 0xa591e70e
jg 0x407dd3
cmp eax, 0xa0807d95
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0xa7385c85
jg 0x407e12
cmp eax, 0xa591e70f
jne 0x407cf0
mov dword [esp], ebx
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0x7bf72b94
je 0x407e07
mov eax, 0x3bafec55
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0xa91137e8
jg 0x407e33
cmp eax, 0xa7385c86
jne 0x407cf0
mov dword [ebp - 0x380], 0xfdbe3826
jmp 0x407cf0
cmp eax, 0xabc9d7d9
jg 0x407e54
cmp eax, 0xa91137e9
jne 0x407cf0
mov dword [ebp - 0x380], 0x17b5b36b
jmp 0x407cf0
cmp eax, 0xb3863caa
jg 0x407e75
cmp eax, 0xabc9d7da
jne 0x407cf0
mov dword [ebp - 0x380], 0xf449084a
jmp 0x407cf0
cmp eax, 0xb3fd9f4d
jg 0x407e96
cmp eax, 0xb3863cab
jne 0x407cf0
mov dword [ebp - 0x380], 0x46cf0be4
jmp 0x407cf0
cmp eax, 0xb96afff3
jg 0x407ebe
cmp eax, 0xb3fd9f4e
jne 0x407cf0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x380], 0x579fd214
jmp 0x407cf0
cmp eax, 0xba1a6803
jg 0x407ef7
cmp eax, 0xb96afff4
jne 0x407cf0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00407740
test eax, eax
sets byte [ebp - 0x12]
mov dword [ebp - 0x380], 0x296435da
jmp 0x407cf0
cmp eax, 0xc1aee4ef
jg 0x407f18
cmp eax, 0xba1a6804
jne 0x407cf0
mov dword [ebp - 0x380], 0x46cf0be4
jmp 0x407cf0
cmp eax, 0xc68d82b2
jg 0x407f39
cmp eax, 0xc1aee4f0
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0xd62afdd1
jg 0x407f66
cmp eax, 0xc68d82b3
jne 0x407cf0
mov eax, 0x4b4c0c2e
cmp dword [ebp - 0x18], 0
je 0x407f5b
mov eax, 0x6eb46dfd
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0xd7212d82
jg 0x407f94
cmp eax, 0xd62afdd2
jne 0x407cf0
mov al, byte [ebp - 0x13]
test al, al
mov eax, 0xc1aee4f0
jne 0x407f89
mov eax, 0x41b857de
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0xe769b7d3
jg 0x407fd6
cmp eax, 0xd7212d83
jne 0x407cf0
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.004171d7
test eax, eax
setne byte [ebp - 0x13]
mov dword [ebp - 0x380], 0xd62afdd2
jmp 0x407cf0
cmp eax, 0xe8ef17e5
jg 0x407ff7
cmp eax, 0xe769b7d4
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0xf4490849
jg 0x408018
cmp eax, 0xe8ef17e6
jne 0x407cf0
mov dword [ebp - 0x380], 0x6e9eac4c
jmp 0x407cf0
cmp eax, 0xfdbe3825
jg 0x408039
cmp eax, 0xf449084a
jne 0x407cf0
mov dword [ebp - 0x380], 0xc3ffa86
jmp 0x407cf0
cmp eax, 0x1c8f073
jg 0x408060
cmp eax, 0xfdbe3826
jne 0x407cf0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x380], 0x77921bcb
jmp 0x407cf0
cmp eax, 0xc3ffa85
jg 0x40808c
cmp eax, 0x1c8f074
jne 0x407cf0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00417bc6
mov dword [ebp - 0x380], 0x6e9eac4c
jmp 0x407cf0
cmp eax, 0x10b7757a
jg 0x4080ad
cmp eax, 0xc3ffa86
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0x17b5b36a
jg 0x4080d5
cmp eax, 0x10b7757b
jne 0x407cf0
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x380], 0x579fd214
jmp 0x407cf0
cmp eax, 0x296435d9
jg 0x408101
cmp eax, 0x17b5b36b
jne 0x407cf0
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], 0
sete byte [ebp - 0x11]
mov dword [ebp - 0x380], 0x4206cc0a
jmp 0x407cf0
cmp eax, 0x2c4e0d57
jg 0x40812f
cmp eax, 0x296435da
jne 0x407cf0
mov al, byte [ebp - 0x12]
test al, al
mov eax, 0x4b6259b1
jne 0x408124
mov eax, 0x66be4e01
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x77921bca
jg 0x40816f
cmp eax, 0x7739b928
jg 0x40817f
cmp eax, 0x2c73c51f
jg 0x4081cc
cmp eax, 0x2c4e0d58
jne 0x407cf0
mov al, byte [ebp - 0x14]
test al, al
mov eax, 0x97ba2b95
jne 0x408164
mov eax, 0xa591e70f
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x77921bcb
jne 0x407cf0
jmp 0x4087e4
cmp eax, 0x7739b929
jne 0x407cf0
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.0040c450
mov dword [0x4c7d40], eax
mov ecx, 0xabc9d7da
test eax, eax
je 0x4081c1
mov ecx, 0x5c2eb1af
mov dword [ebp - 0x380], ecx
jmp 0x407cf0
cmp eax, 0x33397200
jg 0x4081ed
cmp eax, 0x2c73c520
jne 0x407cf0
mov dword [ebp - 0x380], 0xa0807d95
jmp 0x407cf0
cmp eax, 0x3677fdcc
jg 0x408383
cmp eax, 0x33397201
jne 0x407cf0
mov eax, dword [0x4b40e8]
movzx eax, byte [eax]
mov dword [ebp - 0x30], eax
not eax
mov ecx, dword [0x4b40e8]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b40e8]
mov edx, dword [ebp - 0x30]
lea eax, [ecx + edx + 2]
mov dword [ebp - 0x384], eax
inc ecx
mov eax, dword [ebp - 0x388]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x384]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00402720
lea eax, [ebp - 0x24e]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x105
call fcn.00404110
lea eax, [ebp - 0x149]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0x105
call fcn.00405920
lea eax, [ebp - 0x149]
mov dword [esp], eax
call fcn.004049d0
mov dword [ebp - 0x40], eax
mov eax, dword [0x4b40ec]
movzx eax, byte [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b40ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x4b40ec]
mov edx, dword [ebp - 0x38]
lea esi, [ecx + edx + 2]
mov dword [ebp - 0x384], esi
inc ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x384]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00402720
mov eax, dword [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x149]
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00404330
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 esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404330
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x384], eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov ecx, dword [ebp - 0x384]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004034d0
mov dword [ebp - 0x28], eax
test eax, eax
sete byte [ebp - 0x14]
mov dword [ebp - 0x380], 0x2c4e0d58
jmp 0x407cf0
cmp eax, 0x3bafec54
jg 0x4083a4
cmp eax, 0x3677fdcd
jne 0x407cf0
mov dword [ebp - 0x380], 0x2c73c520
jmp 0x407cf0
cmp eax, 0x411b150e
jg 0x408400
cmp eax, 0x3bafec55
jne 0x407cf0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x14]
xor edx, edx
sub edx, dword [eax + 0x10]
sub ecx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x378], 0
call fcn.0040e6d0
lea eax, [ebp - 0x149]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0xba1a6804
je 0x4083f5
mov eax, 0x9db6983a
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x41b857dd
jg 0x40843c
cmp eax, 0x411b150f
jne 0x407cf0
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.004171d7
mov dword [ebp - 0x380], 0xd7212d83
jmp 0x407cf0
cmp eax, 0x4206cc09
jg 0x40845d
cmp eax, 0x41b857de
jne 0x407cf0
mov dword [ebp - 0x380], 0xb96afff4
jmp 0x407cf0
cmp eax, 0x46cf0be3
jg 0x40848b
cmp eax, 0x4206cc0a
jne 0x407cf0
mov al, byte [ebp - 0x11]
test al, al
mov eax, 0xe769b7d4
jne 0x408480
mov eax, 0x7739b929
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x490881d2
jg 0x4084ac
cmp eax, 0x46cf0be4
jne 0x407cf0
mov dword [ebp - 0x380], 0x8a08ac0b
jmp 0x407cf0
cmp eax, 0x49f7794c
jg 0x40863c
cmp eax, 0x490881d3
jne 0x407cf0
mov eax, dword [0x4b40e8]
movzx eax, byte [eax]
mov dword [ebp - 0x30], eax
not eax
mov ecx, dword [0x4b40e8]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b40e8]
mov edx, dword [ebp - 0x30]
lea eax, [ecx + edx + 2]
mov dword [ebp - 0x384], eax
inc ecx
mov eax, dword [ebp - 0x388]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x384]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00402720
lea eax, [ebp - 0x24e]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x105
call fcn.00404110
lea eax, [ebp - 0x149]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0x105
call fcn.00405920
lea eax, [ebp - 0x149]
mov dword [esp], eax
call fcn.004049d0
mov dword [ebp - 0x40], eax
mov eax, dword [0x4b40ec]
movzx eax, byte [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b40ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x4b40ec]
mov edx, dword [ebp - 0x38]
lea esi, [ecx + edx + 2]
mov dword [ebp - 0x384], esi
inc ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x384]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00402720
mov eax, dword [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x149]
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00404330
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 esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404330
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x384], eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov ecx, dword [ebp - 0x384]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004034d0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x380], 0x33397201
jmp 0x407cf0
cmp eax, 0x4b4c0c2d
jg 0x408668
cmp eax, 0x49f7794d
jne 0x407cf0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00417bc6
mov dword [ebp - 0x380], 0xb3fd9f4e
jmp 0x407cf0
cmp eax, 0x4b6259b0
jg 0x408689
cmp eax, 0x4b4c0c2e
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0x579fd213
jg 0x4086aa
cmp eax, 0x4b6259b1
jne 0x407cf0
mov dword [ebp - 0x380], 0x971220da
jmp 0x407cf0
cmp eax, 0x5c2eb1ae
jg 0x4086cb
cmp eax, 0x579fd214
jne 0x407cf0
mov dword [ebp - 0x380], 0xfdbe3826
jmp 0x407cf0
cmp eax, 0x66be4e00
jg 0x408706
cmp eax, 0x5c2eb1af
jne 0x407cf0
mov eax, dword [0x4c7d44]
mov dword [esp], eax
call dword [0x4c7d40]
mov eax, 0x49f7794d
cmp dword [ebp - 0x2c], 0
jne 0x4086fb
mov eax, 0xb3fd9f4e
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x674733a9
jg 0x40873f
cmp eax, 0x66be4e01
jne 0x407cf0
mov dword [ebp - 0x37c], 0
mov ecx, dword [ebp - 0x20]
mov eax, 0xe769b7d4
cmp dword [ecx], 0
je 0x408734
mov eax, 0xa91137e9
mov dword [ebp - 0x380], eax
jmp 0x407cf0
cmp eax, 0x6b49e043
jg 0x408760
cmp eax, 0x674733aa
jne 0x407cf0
mov dword [ebp - 0x380], 0x10b7757b
jmp 0x407cf0
cmp eax, 0x6cf8227b
jg 0x408793
cmp eax, 0x6b49e044
jne 0x407cf0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00407740
mov dword [ebp - 0x380], 0xb96afff4
jmp 0x407cf0
cmp eax, 0x6cf8227c
je 0x4087bb
cmp eax, 0x6e9eac4c
jne 0x4087ca
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00417bc6
mov dword [ebp - 0x380], 0x674733aa
jmp 0x407cf0
mov dword [ebp - 0x380], 0x17b5b36b
jmp 0x407cf0
cmp eax, 0x6eb46dfd
jne 0x407cf0
mov dword [ebp - 0x380], 0x33397201
jmp 0x407cf0
mov eax, dword [ebp - 0x10]
add esp, 0x398
pop esi
pop edi
pop ebx
pop ebp
ret