Function at 0x407980
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.00417af0
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417af0
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417af0
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.00404070
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x8dff214e
lea esi, [ebp - 0x364]
jmp 0x407a90
mov dword [ebp - 0x37c], eax
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x963ad6c1
jg 0x407ac0
cmp eax, 0x8dff214e
jne 0x407a90
mov eax, 0xd9807370
cmp dword [ebp - 0x14], 0
je 0x407a88
mov eax, 0x269d2f47
jmp 0x407a88
cmp eax, 0x7b879b62
jg 0x407c10
cmp eax, 0x745234c4
jg 0x407c31
cmp eax, 0x713b4d55
jg 0x407c4b
cmp eax, 0x568de0a6
jg 0x407c70
cmp eax, 0x53b9b072
jg 0x407cc1
cmp eax, 0x5064d968
jg 0x407e0b
cmp eax, 0x4c5a68ed
jg 0x407e30
cmp eax, 0x48ffbee4
jg 0x407e73
cmp eax, 0x35ba5c8d
jg 0x407ea9
cmp eax, 0x2877cf5b
jg 0x407ec3
cmp eax, 0x269d2f46
jg 0x407f01
cmp eax, 0x24d13990
jg 0x407f1b
cmp eax, 0x2109dfc0
jg 0x407f42
cmp eax, 0x2057edce
jg 0x407f5c
cmp eax, 0x202d279f
jg 0x407f8e
cmp eax, 0x16ca5c99
jg 0x407fa8
cmp eax, 0xf8a4ca97
jg 0x407fe7
cmp eax, 0xeae39c7a
jg 0x408001
cmp eax, 0xe7991915
jg 0x408035
cmp eax, 0xd980736f
jg 0x40818d
cmp eax, 0xd0a96555
jg 0x4081a7
cmp eax, 0xc154f5c6
jg 0x4081d0
cmp eax, 0xbd9a2405
jg 0x4081f6
cmp eax, 0xb4bbe1b4
jg 0x40821d
cmp eax, 0xb352a7ec
jg 0x40823e
cmp eax, 0xaadf4e9b
jg 0x408258
cmp eax, 0x963ad6c2
je 0x408272
cmp eax, 0x9e37bbf3
jne 0x4082b0
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0x7b879b63
jne 0x407a90
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x965022de
jmp 0x407a90
cmp eax, 0x745234c5
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0x713b4d56
jne 0x407a90
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00417ffd
mov dword [ebp - 0x37c], 0x7b879b63
jmp 0x407a90
cmp eax, 0x568de0a7
jne 0x407a90
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.0040e530
lea eax, [ebp - 0x145]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0x202d27a0
je 0x407cb6
mov eax, 0x16ca5c9a
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0x53b9b073
jne 0x407a90
mov eax, dword [0x4b50e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x4b50e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b50e8]
mov edx, dword [ebp - 0x2c]
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], esi
call fcn.00402930
lea eax, [ebp - 0x24a]
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00404160
lea edi, [ebp - 0x145]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 8], 0x105
call fcn.00405500
mov dword [esp], edi
call fcn.00404940
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b50ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b50ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b50ec]
mov edx, dword [ebp - 0x34]
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 - 0x370]
mov dword [esp], ebx
call fcn.00402930
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.004043f0
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
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.004043f0
mov edi, dword [ebp - 0x34]
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403470
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x37c], 0xe7991916
jmp 0x407a90
cmp eax, 0x5064d969
jne 0x407a90
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00417ffd
mov dword [ebp - 0x37c], 0xb4bbe1b5
jmp 0x407a90
cmp eax, 0x4c5a68ee
jne 0x407a90
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.0040a340
mov dword [0x4c8d40], eax
mov dword [ebp - 0x37c], 0x963ad6c2
jmp 0x407a90
cmp eax, 0x48ffbee5
jne 0x407a90
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004071f0
test eax, eax
mov eax, 0x35ba5c8e
js 0x407e9e
mov eax, 0x2057edcf
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0x35ba5c8e
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0x2877cf5c
jne 0x407a90
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, 0xb352a7ed
je 0x407ef6
mov eax, 0x568de0a7
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0x269d2f47
jne 0x407a90
mov dword [ebp - 0x37c], 0xe7991916
jmp 0x407a90
cmp eax, 0x24d13991
jne 0x407a90
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x745234c5
jne 0x407f37
mov eax, 0x2877cf5c
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0x2109dfc1
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0x2057edcf
jne 0x407a90
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xf8a4ca98
cmp dword [ecx], 0
je 0x407f83
mov eax, 0xd0a96556
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0x202d27a0
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0x16ca5c9a
jne 0x407a90
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.00417437
test eax, eax
mov eax, 0x2109dfc1
jne 0x407fdc
mov eax, 0x48ffbee5
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0xf8a4ca98
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0xeae39c7b
jne 0x407a90
mov eax, dword [0x4c8d44]
mov dword [esp], eax
call dword [0x4c8d40]
mov eax, 0x5064d969
cmp dword [ebp - 0x28], 0
jne 0x40802a
mov eax, 0xb4bbe1b5
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0xe7991916
jne 0x407a90
mov eax, dword [0x4b50e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x4b50e8]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b50e8]
mov edx, dword [ebp - 0x2c]
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], esi
call fcn.00402930
lea eax, [ebp - 0x24a]
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], 0x105
call fcn.00404160
lea esi, [ebp - 0x145]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], 0x105
call fcn.00405500
mov dword [esp], esi
call fcn.00404940
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b50ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b50ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b50ec]
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 edi, [ebp - 0x370]
mov dword [esp], edi
call fcn.00402930
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.004043f0
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.004043f0
mov ebx, dword [ebp - 0x34]
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00403470
mov dword [ebp - 0x24], eax
test eax, eax
sete byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0x24d13991
jmp 0x407a90
cmp eax, 0xd9807370
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0xd0a96556
jne 0x407a90
mov ecx, dword [ebp - 0x1c]
mov eax, 0xf8a4ca98
cmp dword [ecx + 4], 0
je 0x4081c5
mov eax, 0xaadf4e9c
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0xc154f5c7
jne 0x407a90
mov eax, 0x713b4d56
cmp dword [ebp - 0x28], 0
jne 0x4081eb
mov eax, 0x7b879b63
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0xbd9a2406
jne 0x407a90
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x9e37bbf3
jne 0x408212
mov eax, 0xeae39c7b
mov dword [ebp - 0x37c], eax
jmp 0x407a90
cmp eax, 0xb4bbe1b5
jne 0x407a90
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0x965022de
jmp 0x407a90
cmp eax, 0xb352a7ed
jne 0x407a90
mov dword [ebp - 0x37c], 0xc154f5c7
jmp 0x407a90
cmp eax, 0xaadf4e9c
jne 0x407a90
mov dword [ebp - 0x37c], 0x963ad6c2
jmp 0x407a90
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.0040a340
mov dword [0x4c8d40], eax
test eax, eax
sete byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0xbd9a2406
jmp 0x407a90
cmp eax, 0x965022de
jne 0x407a90
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret