Function at 0x407220
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 eax, [ebp - 0x145]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00416690
lea ebx, [ebp - 0x24a]
mov dword [esp], ebx
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00416690
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.00403cb0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x3daeadb7
lea esi, [ebp - 0x364]
lea edi, [ebp - 0x370]
jmp 0x407340
mov dword [ebp - 0x37c], 0x790a7321
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x7dc6687f
jg 0x407430
cmp eax, 0x7988d0c7
jg 0x407440
cmp eax, 0x790a7320
jg 0x407464
cmp eax, 0x73f06445
jg 0x40748a
cmp eax, 0x6ccc6b87
jg 0x4074b1
cmp eax, 0x67b51735
jg 0x4074e7
cmp eax, 0x63936f2e
jg 0x407508
cmp eax, 0x4ad8812a
jg 0x40752d
cmp eax, 0x4101cf92
jg 0x40754e
cmp eax, 0x3daeadb6
jg 0x407568
cmp eax, 0x25e21383
jg 0x40758e
cmp eax, 0x1c7064ce
jg 0x4075a8
cmp eax, 0x1ba85d35
jg 0x4075b8
cmp eax, 0x13981e9f
jg 0x4075e1
cmp eax, 0x90ce3d71
jg 0x4075fb
cmp eax, 0x9075e963
jne 0x407340
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.00415fd7
test eax, eax
mov eax, 0x13981ea0
jne 0x40741f
mov eax, 0x6ccc6b88
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x7dc66880
jne 0x407340
jmp 0x40732e
cmp eax, 0x7988d0c8
jne 0x407340
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x37c], 0xc99df4b6
jmp 0x407340
cmp eax, 0x790a7321
jne 0x407340
mov eax, 0xe259d369
cmp dword [ebp - 0x28], 0
jne 0x40747f
mov eax, 0x67b51736
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x73f06446
jne 0x407340
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0xc6e76f5
jne 0x4074a6
mov eax, 0x55bd5a
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x6ccc6b88
jne 0x407340
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00406dc0
test eax, eax
mov eax, 0x7dc66880
js 0x4074dc
mov eax, 0x9159d46a
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x67b51736
jne 0x407340
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x1c7064cf
jmp 0x407340
cmp eax, 0x63936f2f
jne 0x407340
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004169c6
mov dword [ebp - 0x37c], 0x4ad8812b
jmp 0x407340
cmp eax, 0x4ad8812b
jne 0x407340
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0x1c7064cf
jmp 0x407340
cmp eax, 0x4101cf93
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0x3daeadb7
jne 0x407340
mov eax, 0xf4d8901c
cmp dword [ebp - 0x14], 0
je 0x407583
mov eax, 0xb518d6f1
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x25e21384
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0x1c7064cf
jne 0x407340
jmp 0x407d0b
cmp eax, 0x1ba85d36
jne 0x407340
mov ecx, dword [ebp - 0x1c]
mov eax, 0xf2042afc
cmp dword [ecx + 4], 0
je 0x4075d6
mov eax, 0x90ce3d72
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0x13981ea0
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0x9159d469
jg 0x40764f
cmp eax, 0x90ce3d72
jne 0x407340
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.0040bbc0
mov dword [0x4d0d40], eax
mov ecx, 0x25e21384
test eax, eax
je 0x407644
mov ecx, 0xca74be4
mov dword [ebp - 0x37c], ecx
jmp 0x407340
cmp eax, 0xca74be3
jg 0x407750
cmp eax, 0xc6e76f4
jg 0x407784
cmp eax, 0xb2c2cc8
jg 0x40779e
cmp eax, 0x55bd59
jg 0x4077b8
cmp eax, 0xfe8386b4
jg 0x4077d2
cmp eax, 0xf8d391ad
jg 0x407806
cmp eax, 0xf74c2f59
jg 0x407820
cmp eax, 0xf4d8901b
jg 0x407847
cmp eax, 0xf2042afb
jg 0x407861
cmp eax, 0xe2e63e98
jg 0x40787b
cmp eax, 0xe259d368
jg 0x407895
cmp eax, 0xde30bae3
jg 0x4078ba
cmp eax, 0xd0ecb918
jg 0x4078d4
cmp eax, 0xcf39e887
jg 0x407925
cmp eax, 0xc99df4b5
jg 0x40794c
cmp eax, 0xb518d6f0
jg 0x40797a
cmp eax, 0xae9cbcd2
jg 0x407994
cmp eax, 0xae632672
jg 0x4079ce
cmp eax, 0xa9e5c591
jg 0x4079e8
cmp eax, 0x9ffc3e35
jg 0x407b68
cmp eax, 0x9159d46a
je 0x407ce2
cmp eax, 0x918f3e57
jne 0x407cf1
mov dword [ebp - 0x37c], 0xae632673
jmp 0x407340
cmp eax, 0xca74be4
jne 0x407340
mov eax, dword [0x4d0d44]
mov dword [esp], eax
call dword [0x4d0d40]
mov eax, 0x63936f2f
cmp dword [ebp - 0x28], 0
jne 0x407779
mov eax, 0x4ad8812b
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0xc6e76f5
jne 0x407340
mov dword [ebp - 0x37c], 0xf8d391ae
jmp 0x407340
cmp eax, 0xb2c2cc9
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0x55bd5a
jne 0x407340
mov dword [ebp - 0x37c], 0xae9cbcd3
jmp 0x407340
cmp eax, 0xfe8386b5
jne 0x407340
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
mov dword [ebp - 0x37c], 0xae9cbcd3
jmp 0x407340
cmp eax, 0xf8d391ae
jne 0x407340
mov dword [ebp - 0x37c], 0xde30bae4
jmp 0x407340
cmp eax, 0xf74c2f5a
jne 0x407340
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0xb2c2cc9
jne 0x40783c
mov eax, 0xd0ecb919
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0xf4d8901c
jne 0x407340
mov dword [ebp - 0x37c], 0x918f3e57
jmp 0x407340
cmp eax, 0xf2042afc
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0xe2e63e99
jne 0x407340
mov dword [ebp - 0x37c], 0xf8d391ae
jmp 0x407340
cmp eax, 0xe259d369
jne 0x407340
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.004169c6
mov dword [ebp - 0x37c], 0x67b51736
jmp 0x407340
cmp eax, 0xde30bae4
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0xd0ecb919
jne 0x407340
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.0040db40
lea eax, [ebp - 0x145]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0x4101cf93
je 0x40791a
mov eax, 0x9075e963
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0xcf39e888
jne 0x407340
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0xf2042afc
jne 0x407941
mov eax, 0x1ba85d36
mov dword [ebp - 0x37c], eax
jmp 0x407340
cmp eax, 0xc99df4b6
jne 0x407340
mov dword [ebp - 0x378], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0xcf39e888
jmp 0x407340
cmp eax, 0xb518d6f1
jne 0x407340
mov dword [ebp - 0x37c], 0xa9e5c592
jmp 0x407340
cmp eax, 0xae9cbcd3
jne 0x407340
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
sete byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0xf74c2f5a
jmp 0x407340
cmp eax, 0xae632673
jne 0x407340
mov dword [ebp - 0x37c], 0x790a7321
jmp 0x407340
cmp eax, 0xa9e5c592
jne 0x407340
mov eax, dword [0x4bd0e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x4bd0e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4bd0e8]
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], esi
call fcn.00402910
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00403ea0
lea esi, [ebp - 0x145]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], 0x105
call fcn.00405180
mov dword [esp], esi
call fcn.00404470
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4bd0ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4bd0ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4bd0ec]
mov edx, dword [ebp - 0x34]
lea esi, [ecx + edx + 2]
mov dword [ebp - 0x380], esi
inc ecx
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.00402910
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x145]
mov dword [esp + 8], eax
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.00404050
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 esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404050
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], edi
mov dword [esp], eax
call fcn.00403500
mov dword [ebp - 0x24], eax
test eax, eax
sete byte [ebp - 0xf]
mov dword [ebp - 0x37c], 0x73f06446
jmp 0x407340
cmp eax, 0x9ffc3e36
jne 0x407340
mov eax, dword [0x4bd0e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x4bd0e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4bd0e8]
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], esi
call fcn.00402910
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00403ea0
lea esi, [ebp - 0x145]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], 0x105
call fcn.00405180
mov dword [esp], esi
call fcn.00404470
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4bd0ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4bd0ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4bd0ec]
mov edx, dword [ebp - 0x34]
lea esi, [ecx + edx + 2]
mov dword [ebp - 0x380], esi
inc ecx
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.00402910
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x145]
mov dword [esp + 8], eax
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.00404050
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 esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404050
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], edi
mov dword [esp], eax
call fcn.00403500
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x37c], 0xa9e5c592
jmp 0x407340
mov dword [ebp - 0x37c], 0xc99df4b6
jmp 0x407340
cmp eax, 0x94428caf
jne 0x407340
mov dword [ebp - 0x37c], 0x918f3e57
jmp 0x407340
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret