Function at 0x407600
Capabilities:
Create directory
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x390
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.004169d0
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004169d0
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004169d0
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.004044a0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x7eefe3cc
lea edi, [ebp - 0x364]
lea ebx, [ebp - 0x370]
jmp 0x407720
mov dword [ebp - 0x37c], 0xb9f98379
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x873e010d
jg 0x407740
cmp eax, 0x8180f1a1
jne 0x407720
jmp 0x40770e
cmp eax, 0x8c02e66e
jg 0x407760
cmp eax, 0x873e010e
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0x93ab0798
jg 0x4077a4
cmp eax, 0x8c02e66f
jne 0x407720
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.0040dd90
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
mov dword [ebp - 0x37c], 0x35a4fd9c
jmp 0x407720
cmp eax, 0x7eefe3cb
jg 0x407976
cmp eax, 0x7ce01588
jg 0x40799c
cmp eax, 0x75c888ed
jg 0x4079c3
cmp eax, 0x73b1257b
jg 0x4079dd
cmp eax, 0x7245105f
jg 0x4079f7
cmp eax, 0x63753e1b
jg 0x407a11
cmp eax, 0x5c4d4857
jg 0x407a47
cmp eax, 0x5bc74f90
jg 0x407a6c
cmp eax, 0x50155e93
jg 0x407a93
cmp eax, 0x49845da6
jg 0x407aba
cmp eax, 0x46a0a34f
jg 0x407af8
cmp eax, 0x363b0ddf
jg 0x407b45
cmp eax, 0x35a4fd9b
jg 0x407b5f
cmp eax, 0x2699adfa
jg 0x407baa
cmp eax, 0x2224ef58
jg 0x407bd1
cmp eax, 0xb651ac2
jg 0x407beb
cmp eax, 0xa698321
jg 0x407c05
cmp eax, 0x706723c
jg 0x407c27
cmp eax, 0x4c9760c
jg 0x407c48
cmp eax, 0x25b1988
jg 0x407c6d
cmp eax, 0xfa5a21f6
jg 0x407c87
cmp eax, 0xe5700110
jg 0x407ca1
cmp eax, 0xe3e01d44
jg 0x407cc2
cmp eax, 0xe19998cb
jg 0x407cdc
cmp eax, 0xd902f843
jg 0x407d04
cmp eax, 0xd2692623
jg 0x407d1e
cmp eax, 0xcb3805ca
jg 0x407d2e
cmp eax, 0xc92b2623
jg 0x407d5e
cmp eax, 0xc5c2c637
jg 0x407d78
cmp eax, 0xc4aefea1
jg 0x407d92
cmp eax, 0xc2b0957c
jg 0x407f09
cmp eax, 0xbe90f1e6
jg 0x407f23
cmp eax, 0xbe1947bb
jg 0x407f3d
cmp eax, 0xbaec396a
jg 0x407f7c
cmp eax, 0xb9f98378
jg 0x407fa1
cmp eax, 0xaae98308
jg 0x407fc6
cmp eax, 0xa90d724e
jg 0x407fe0
cmp eax, 0xa6f301a2
jg 0x407ffa
cmp eax, 0xa3eaedc1
jg 0x408014
cmp eax, 0x93ab0799
je 0x40802e
cmp eax, 0x93d18b0f
jne 0x40803d
mov dword [ebp - 0x37c], 0xe3e01d45
jmp 0x407720
cmp eax, 0x7eefe3cc
jne 0x407720
mov eax, 0x93ab0799
cmp dword [ebp - 0x14], 0
je 0x407991
mov eax, 0xc4aefea2
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x7ce01589
jne 0x407720
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x72451060
jne 0x4079b8
mov eax, 0xe5700111
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x75c888ee
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0x73b1257c
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0x72451060
jne 0x407720
mov dword [ebp - 0x37c], 0x5c4d4858
jmp 0x407720
cmp eax, 0x63753e1c
jne 0x407720
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004070b0
test eax, eax
mov eax, 0x873e010e
js 0x407a3c
mov eax, 0x9ada8afd
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x5c4d4858
jne 0x407720
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416edb
mov dword [ebp - 0x37c], 0xbe90f1e7
jmp 0x407720
cmp eax, 0x5bc74f91
jne 0x407720
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0xfa5a21f7
jne 0x407a88
mov eax, 0x46a0a350
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x50155e94
jne 0x407720
mov al, byte [ebp - 0x10]
test al, al
mov eax, 0xc92b2624
jne 0x407aaf
mov eax, 0xbe1947bc
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x49845da7
jne 0x407720
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0xa6f301a3
je 0x407aed
mov eax, 0xa90d724f
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x46a0a350
jne 0x407720
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.0040bc50
mov dword [0x4c7d40], eax
mov ecx, 0x75c888ee
test eax, eax
je 0x407b3a
mov ecx, 0xa3eaedc2
mov dword [ebp - 0x37c], ecx
jmp 0x407720
cmp eax, 0x363b0de0
jne 0x407720
mov dword [ebp - 0x37c], 0xc5c2c638
jmp 0x407720
cmp eax, 0x35a4fd9c
jne 0x407720
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0x14]
neg ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x374], 0
call fcn.0040dd90
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
sete byte [ebp - 0x10]
mov dword [ebp - 0x37c], 0x50155e94
jmp 0x407720
cmp eax, 0x2699adfb
jne 0x407720
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x4c9760d
jne 0x407bc6
mov eax, 0x706723d
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0x2224ef59
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0xb651ac3
jne 0x407720
mov dword [ebp - 0x37c], 0xa698322
jmp 0x407720
cmp eax, 0xa698322
jne 0x407720
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0x7ce01589
jmp 0x407720
cmp eax, 0x706723d
jne 0x407720
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0xd2692624
jmp 0x407720
cmp eax, 0x4c9760d
jne 0x407720
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416edb
mov dword [ebp - 0x37c], 0x706723d
jmp 0x407720
cmp eax, 0x25b1989
jne 0x407720
mov dword [ebp - 0x37c], 0xa698322
jmp 0x407720
cmp eax, 0xfa5a21f7
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0xe5700111
jne 0x407720
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0xd2692624
jmp 0x407720
cmp eax, 0xe3e01d45
jne 0x407720
mov dword [ebp - 0x37c], 0x2224ef59
jmp 0x407720
cmp eax, 0xe19998cc
jne 0x407720
mov eax, dword [0x4c7d44]
mov dword [esp], eax
call dword [0x4c7d40]
mov dword [ebp - 0x37c], 0xcb3805cb
jmp 0x407720
cmp eax, 0xd902f844
jne 0x407720
mov dword [ebp - 0x37c], 0xb9f98379
jmp 0x407720
cmp eax, 0xd2692624
jne 0x407720
jmp 0x40806f
cmp eax, 0xcb3805cb
jne 0x407720
mov eax, dword [0x4c7d44]
mov dword [esp], eax
call dword [0x4c7d40]
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0x2699adfb
jmp 0x407720
cmp eax, 0xc92b2624
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0xc5c2c638
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0xc4aefea2
jne 0x407720
mov eax, dword [0x4b40e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
not eax
mov ecx, dword [0x4b40e8]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b40e8]
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.004029d0
lea eax, [ebp - 0x24a]
mov edi, eax
mov dword [esp], edi
mov dword [esp + 4], 0x105
call fcn.00404690
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x105
call fcn.00405660
mov dword [esp], esi
call fcn.00404b50
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b40ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b40ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b40ec]
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
mov dword [esp], ebx
call fcn.004029d0
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.00404850
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.00404850
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
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403960
mov dword [ebp - 0x24], eax
mov ecx, 0x73b1257c
test eax, eax
je 0x407efe
mov ecx, 0x49845da7
mov dword [ebp - 0x37c], ecx
jmp 0x407720
cmp eax, 0xc2b0957d
jne 0x407720
mov dword [ebp - 0x37c], 0x363b0de0
jmp 0x407720
cmp eax, 0xbe90f1e7
jne 0x407720
mov dword [ebp - 0x37c], 0xe5700111
jmp 0x407720
cmp eax, 0xbe1947bc
jne 0x407720
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.00416317
test eax, eax
mov eax, 0xaae98309
jne 0x407f71
mov eax, 0x63753e1c
mov dword [ebp - 0x37c], eax
jmp 0x407720
cmp eax, 0xbaec396b
jne 0x407720
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416edb
mov dword [ebp - 0x37c], 0x5c4d4858
jmp 0x407720
cmp eax, 0xb9f98379
jne 0x407720
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
sete byte [ebp - 0xf]
mov dword [ebp - 0x37c], 0x5bc74f91
jmp 0x407720
cmp eax, 0xaae98309
jne 0x407720
mov dword [ebp - 0x37c], 0xe3e01d45
jmp 0x407720
cmp eax, 0xa90d724f
jne 0x407720
mov dword [ebp - 0x37c], 0x35a4fd9c
jmp 0x407720
cmp eax, 0xa6f301a3
jne 0x407720
mov dword [ebp - 0x37c], 0xb651ac3
jmp 0x407720
cmp eax, 0xa3eaedc2
jne 0x407720
mov dword [ebp - 0x37c], 0xcb3805cb
jmp 0x407720
mov dword [ebp - 0x37c], 0x363b0de0
jmp 0x407720
cmp eax, 0x9ada8afd
jne 0x407720
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xfa5a21f7
cmp dword [ecx], 0
je 0x408064
mov eax, 0xd902f844
mov dword [ebp - 0x37c], eax
jmp 0x407720
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret