Function at 0x407c40
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 - 0x1c], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], 0
lea esi, [ebp - 0x145]
mov dword [esp], esi
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00418f80
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00418f80
lea ebx, [ebp - 0x34f]
mov dword [esp], ebx
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00418f80
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x364], 0
mov word [ebp - 0x368], 0
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x378], 1
call fcn.00404210
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0xfcc1ac8c
lea edi, [ebp - 0x364]
jmp 0x407d60
mov dword [ebp - 0x37c], 0x55676952
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x7e85e12e
jg 0x407dc0
cmp eax, 0x762ede41
jg 0x407dd0
cmp eax, 0x838429e1
jg 0x407ded
cmp eax, 0x821a02ea
jne 0x407d60
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x14]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x374], 0
call fcn.0040eee0
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0x89e90d30
je 0x407db7
mov eax, 0x149abd02
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0x7e85e12f
jne 0x407d60
jmp 0x407d48
cmp eax, 0x762ede42
jne 0x407d60
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x838429e2
jmp 0x407d60
cmp eax, 0x85e9da9a
jg 0x407e0e
cmp eax, 0x838429e2
jne 0x407d60
mov dword [ebp - 0x37c], 0xbd3a98dc
jmp 0x407d60
cmp eax, 0x89e90d2f
jg 0x407e4d
cmp eax, 0x85e9da9b
jne 0x407d60
mov dword [esp], ebx
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0x126c748a
je 0x407e42
mov eax, 0x821a02ea
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0x8fe361b1
jg 0x407e6e
cmp eax, 0x89e90d30
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0x921d41e9
jg 0x407e8f
cmp eax, 0x8fe361b2
jne 0x407d60
mov dword [ebp - 0x37c], 0xe706a6aa
jmp 0x407d60
cmp eax, 0x99fa5fde
jg 0x407eb0
cmp eax, 0x921d41ea
jne 0x407d60
mov dword [ebp - 0x37c], 0xd8b4113f
jmp 0x407d60
cmp eax, 0xa517ee55
jg 0x407ed1
cmp eax, 0x99fa5fdf
jne 0x407d60
mov dword [ebp - 0x37c], 0xfd0a11e9
jmp 0x407d60
cmp eax, 0xa6eb97bf
jg 0x407ef2
cmp eax, 0xa517ee56
jne 0x407d60
mov dword [ebp - 0x37c], 0xd8b4113f
jmp 0x407d60
cmp eax, 0xa87c9a59
jg 0x407f13
cmp eax, 0xa6eb97c0
jne 0x407d60
mov dword [ebp - 0x37c], 0xe706a6aa
jmp 0x407d60
cmp eax, 0xac310681
jg 0x407f3f
cmp eax, 0xa87c9a5a
jne 0x407d60
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004193b2
mov dword [ebp - 0x37c], 0xc1195e2
jmp 0x407d60
cmp eax, 0xb53cc85d
jg 0x407f60
cmp eax, 0xac310682
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0xbcbb2665
jg 0x407f81
cmp eax, 0xb53cc85e
jne 0x407d60
mov dword [ebp - 0x37c], 0xc1195e2
jmp 0x407d60
cmp eax, 0x6e4cde6a
jg 0x408052
cmp eax, 0x6d00d714
jg 0x40806c
cmp eax, 0x60ef3a74
jg 0x4080a7
cmp eax, 0x5ccc1683
jg 0x4080dc
cmp eax, 0x5c0f25b9
jg 0x408129
cmp eax, 0x5914eb6b
jg 0x40815b
cmp eax, 0x55676951
jg 0x408175
cmp eax, 0x4ffb8e8f
jg 0x40819b
cmp eax, 0x4bdc48ad
jg 0x4081bc
cmp eax, 0x4a38aadb
jg 0x4081d6
cmp eax, 0x3a62fd2e
jg 0x4081f7
cmp eax, 0x340e8961
jg 0x408211
cmp eax, 0x149abd01
jg 0x408238
cmp eax, 0x126c7489
jg 0x408252
cmp eax, 0xbd3a98db
jg 0x40826c
cmp eax, 0xbcbb2666
jne 0x407d60
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004077c0
mov dword [ebp - 0x37c], 0x5c0f25ba
jmp 0x407d60
cmp eax, 0x6e4cde6b
jne 0x407d60
mov dword [ebp - 0x37c], 0x5c0f25ba
jmp 0x407d60
cmp eax, 0x6d00d715
jne 0x407d60
mov eax, dword [ebp - 0x40]
dec eax
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.004188c7
test eax, eax
setne byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0x340e8962
jmp 0x407d60
cmp eax, 0x60ef3a75
jne 0x407d60
mov eax, dword [ebp - 0x40]
dec eax
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.004188c7
mov dword [ebp - 0x37c], 0x6d00d715
jmp 0x407d60
cmp eax, 0x5ccc1684
jne 0x407d60
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0040a3a0
mov dword [0x4cfd40], eax
mov ecx, 0x99fa5fdf
test eax, eax
je 0x40811e
mov ecx, 0xd9ef4df7
mov dword [ebp - 0x37c], ecx
jmp 0x407d60
cmp eax, 0x5c0f25ba
jne 0x407d60
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004077c0
test eax, eax
sets byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0xf2dec90f
jmp 0x407d60
cmp eax, 0x5914eb6c
jne 0x407d60
mov dword [ebp - 0x37c], 0x762ede42
jmp 0x407d60
cmp eax, 0x55676952
jne 0x407d60
mov eax, 0xb53cc85e
cmp dword [ebp - 0x28], 0
jne 0x408190
mov eax, 0x5914eb6c
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0x4ffb8e90
jne 0x407d60
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0xbd3a98dc
jmp 0x407d60
cmp eax, 0x4bdc48ae
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0x4a38aadc
jne 0x407d60
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x762ede42
jmp 0x407d60
cmp eax, 0x3a62fd2f
jne 0x407d60
mov dword [ebp - 0x37c], 0xfd0a11e9
jmp 0x407d60
cmp eax, 0x340e8962
jne 0x407d60
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x8fe361b2
jne 0x40822d
mov eax, 0x6e4cde6b
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0x149abd02
jne 0x407d60
mov dword [ebp - 0x37c], 0x6d00d715
jmp 0x407d60
cmp eax, 0x126c748a
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0xc9cd6609
jg 0x408283
cmp eax, 0xbd3a98dc
jne 0x407d60
jmp 0x4086a3
cmp eax, 0xcae98ba8
jg 0x4082b3
cmp eax, 0xc9cd660a
jne 0x407d60
mov ecx, dword [ebp - 0x1c]
mov eax, 0xac310682
cmp dword [ecx + 4], 0
je 0x4082a8
mov eax, 0x5ccc1684
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0xd4677dc8
jg 0x4082d4
cmp eax, 0xcae98ba9
jne 0x407d60
mov dword [ebp - 0x37c], 0x4ffb8e90
jmp 0x407d60
cmp eax, 0xd6826e8d
jg 0x4082f5
cmp eax, 0xd4677dc9
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0xd8b4113e
jg 0x40832e
cmp eax, 0xd6826e8e
jne 0x407d60
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xac310682
cmp dword [ecx], 0
je 0x408323
mov eax, 0xc9cd660a
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0xd9ef4df6
jg 0x40834f
cmp eax, 0xd8b4113f
jne 0x407d60
mov dword [ebp - 0x37c], 0x4bdc48ae
jmp 0x407d60
cmp eax, 0xda694188
jg 0x40838a
cmp eax, 0xd9ef4df7
jne 0x407d60
mov eax, dword [0x4cfd44]
mov dword [esp], eax
call dword [0x4cfd40]
mov eax, 0xffc844e6
cmp dword [ebp - 0x28], 0
jne 0x40837f
mov eax, 0x4ffb8e90
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0xdcf4c8a5
jg 0x4083ab
cmp eax, 0xda694189
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0xe4eb5408
jg 0x408530
cmp eax, 0xdcf4c8a6
jne 0x407d60
mov eax, dword [0x4bc0e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x4bc0e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4bc0e8]
mov edx, dword [ebp - 0x2c]
lea eax, [ecx + edx + 2]
mov dword [ebp - 0x380], eax
inc ecx
mov eax, dword [ebp - 0x384]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x380]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00402870
lea eax, [ebp - 0x24a]
mov edi, eax
mov dword [esp], edi
mov dword [esp + 4], 0x105
call fcn.004043d0
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x105
call fcn.00405ab0
mov dword [esp], esi
call fcn.00404c40
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4bc0ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4bc0ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4bc0ec]
mov edx, dword [ebp - 0x34]
lea edi, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [ebp - 0x370]
mov dword [esp], eax
call fcn.00402870
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00404650
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edx, 0x105
sub edx, ecx
lea ecx, [ebp + ecx - 0x34f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x364]
mov dword [esp + 8], eax
mov edi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404650
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x380], eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov ecx, dword [ebp - 0x380]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x370]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004036e0
mov dword [ebp - 0x24], eax
mov ecx, 0xa517ee56
test eax, eax
je 0x408525
mov ecx, 0x85e9da9b
mov dword [ebp - 0x37c], ecx
jmp 0x407d60
cmp eax, 0xe706a6a9
jg 0x40855c
cmp eax, 0xe4eb5409
jne 0x407d60
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004193b2
mov dword [ebp - 0x37c], 0xcae98ba9
jmp 0x407d60
cmp eax, 0xf2dec90e
jg 0x40857d
cmp eax, 0xe706a6aa
jne 0x407d60
mov dword [ebp - 0x37c], 0xd4677dc9
jmp 0x407d60
cmp eax, 0xfcc1ac8b
jg 0x4085ab
cmp eax, 0xf2dec90f
jne 0x407d60
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x4d28e03
jne 0x4085a0
mov eax, 0xd6826e8e
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0xc7e3621
jg 0x4085f0
cmp eax, 0xc1195e1
jg 0x408615
cmp eax, 0x4d28e02
jg 0x40863a
cmp eax, 0xffc844e5
jg 0x408654
cmp eax, 0xfcc1ac8c
je 0x40866e
cmp eax, 0xfcf434f1
jne 0x408689
mov dword [ebp - 0x37c], 0x5914eb6c
jmp 0x407d60
cmp eax, 0xc7e3622
jne 0x407d60
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004193b2
mov dword [ebp - 0x37c], 0xe4eb5409
jmp 0x407d60
cmp eax, 0xc1195e2
jne 0x407d60
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004193b2
mov dword [ebp - 0x37c], 0xfcf434f1
jmp 0x407d60
cmp eax, 0x4d28e03
jne 0x407d60
mov dword [ebp - 0x37c], 0x55676952
jmp 0x407d60
cmp eax, 0xffc844e6
jne 0x407d60
mov dword [ebp - 0x37c], 0xe4eb5409
jmp 0x407d60
mov eax, 0xda694189
cmp dword [ebp - 0x14], 0
je 0x40867e
mov eax, 0xdcf4c8a6
mov dword [ebp - 0x37c], eax
jmp 0x407d60
cmp eax, 0xfd0a11e9
jne 0x407d60
mov dword [ebp - 0x37c], 0x7e85e12f
jmp 0x407d60
mov eax, dword [ebp - 0x18]
add esp, 0x394
pop esi
pop edi
pop ebx
pop ebp
ret