Function at 0x407210
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.004168d0
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004168d0
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004168d0
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.00403880
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x20b998b
lea edi, [ebp - 0x364]
lea ebx, [ebp - 0x370]
jmp 0x407330
mov dword [ebp - 0x37c], 0xd751bf03
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x91ea2b50
jg 0x407350
cmp eax, 0x84bdf084
jne 0x407330
jmp 0x40731e
cmp eax, 0x7f0bf7b6
jg 0x407420
cmp eax, 0x7c0a874b
jg 0x40743a
cmp eax, 0x79d5578c
jg 0x40747b
cmp eax, 0x696f868c
jg 0x40749c
cmp eax, 0x66b5c8d9
jg 0x4074b6
cmp eax, 0x609cd213
jg 0x4074c6
cmp eax, 0x57289be9
jg 0x4074eb
cmp eax, 0x52d68c6f
jg 0x40752a
cmp eax, 0x39fb4c8e
jg 0x407544
cmp eax, 0x2b4ffd9b
jg 0x40757a
cmp eax, 0x2704f27e
jg 0x407594
cmp eax, 0x18240f0d
jg 0x4075ae
cmp eax, 0x15d6f1d6
jg 0x4075c8
cmp eax, 0x116323c6
jg 0x4075e9
cmp eax, 0xb3f5669
jg 0x407612
cmp eax, 0x92c97a22
jg 0x40762c
cmp eax, 0x91ea2b51
jne 0x407330
mov dword [ebp - 0x37c], 0x18240f0e
jmp 0x407330
cmp eax, 0x7f0bf7b7
jne 0x407330
mov dword [ebp - 0x37c], 0x696f868d
jmp 0x407330
cmp eax, 0x7c0a874c
jne 0x407330
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.0040cdc0
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
mov dword [ebp - 0x37c], 0xd751bf03
jmp 0x407330
cmp eax, 0x79d5578d
jne 0x407330
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0x66b5c8da
jmp 0x407330
cmp eax, 0x696f868d
jne 0x407330
mov dword [ebp - 0x37c], 0xe4d2a3da
jmp 0x407330
cmp eax, 0x66b5c8da
jne 0x407330
jmp 0x407a67
cmp eax, 0x609cd214
jne 0x407330
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416b2d
mov dword [ebp - 0x37c], 0x15d6f1d7
jmp 0x407330
cmp eax, 0x57289bea
jne 0x407330
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.00416217
test eax, eax
mov eax, 0x92c97a23
jne 0x40751f
mov eax, 0x39fb4c8f
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0x52d68c70
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0x39fb4c8f
jne 0x407330
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00406b00
test eax, eax
mov eax, 0xdb205c48
js 0x40756f
mov eax, 0xae609248
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0x2b4ffd9c
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0x2704f27f
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0x18240f0e
jne 0x407330
mov dword [ebp - 0x37c], 0x2704f27f
jmp 0x407330
cmp eax, 0x15d6f1d7
jne 0x407330
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x66b5c8da
jmp 0x407330
cmp eax, 0x116323c7
jne 0x407330
mov ecx, dword [ebp - 0x1c]
mov eax, 0xdb6f866e
cmp dword [ecx + 4], 0
je 0x407607
mov eax, 0xd9a11786
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0xb3f566a
jne 0x407330
mov dword [ebp - 0x37c], 0x18240f0e
jmp 0x407330
cmp eax, 0x9fb94fc0
jg 0x40764d
cmp eax, 0x92c97a23
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0xa5296859
jg 0x407688
cmp eax, 0x9fb94fc1
jne 0x407330
mov eax, dword [0x4ccd44]
mov dword [esp], eax
call dword [0x4ccd40]
mov eax, 0xacad2acd
cmp dword [ebp - 0x28], 0
jne 0x40767d
mov eax, 0x79d5578d
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0xa72a6ef1
jg 0x4076a9
cmp eax, 0xa529685a
jne 0x407330
mov dword [ebp - 0x37c], 0x696f868d
jmp 0x407330
cmp eax, 0xacad2acc
jg 0x4076ca
cmp eax, 0xa72a6ef2
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0xae609247
jg 0x4076f6
cmp eax, 0xacad2acd
jne 0x407330
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416b2d
mov dword [ebp - 0x37c], 0x79d5578d
jmp 0x407330
cmp eax, 0xc65659c9
jg 0x40772f
cmp eax, 0xae609248
jne 0x407330
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xdb6f866e
cmp dword [ecx], 0
je 0x407724
mov eax, 0x116323c7
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0xd751bf02
jg 0x4078ae
cmp eax, 0xc65659ca
jne 0x407330
mov eax, dword [str._bOe]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [str._bOe]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [str._bOe]
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.00402510
lea eax, [ebp - 0x24a]
mov edi, eax
mov dword [esp], edi
mov dword [esp + 4], 0x105
call fcn.004039e0
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x105
call fcn.00404d90
mov dword [esp], esi
call fcn.004041b0
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b90ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b90ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b90ec]
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.00402510
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.00403b40
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.00403b40
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.004030f0
mov dword [ebp - 0x24], eax
mov ecx, 0x2b4ffd9c
test eax, eax
je 0x4078a3
mov ecx, 0x2357853
mov dword [ebp - 0x37c], ecx
jmp 0x407330
cmp eax, 0xd9a11785
jg 0x407900
cmp eax, 0xd751bf03
jne 0x407330
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x14]
xor edx, edx
sub edx, dword [eax + 0x10]
sub ecx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x374], 0
call fcn.0040cdc0
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
sete byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0xeafcde77
jmp 0x407330
cmp eax, 0xdb205c47
jg 0x407954
cmp eax, 0xd9a11786
jne 0x407330
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.00409670
mov dword [0x4ccd40], eax
mov ecx, 0xa72a6ef2
test eax, eax
je 0x407949
mov ecx, 0x9fb94fc1
mov dword [ebp - 0x37c], ecx
jmp 0x407330
cmp eax, 0xdb6f866d
jg 0x407975
cmp eax, 0xdb205c48
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0xdccda897
jg 0x407996
cmp eax, 0xdb6f866e
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0xe4d2a3d9
jg 0x4079c3
cmp eax, 0xdccda898
jne 0x407330
mov eax, 0x609cd214
cmp dword [ebp - 0x28], 0
jne 0x4079b8
mov eax, 0x15d6f1d7
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0xeafcde76
jg 0x4079e4
cmp eax, 0xe4d2a3da
jne 0x407330
mov dword [ebp - 0x37c], 0xdccda898
jmp 0x407330
cmp eax, 0xeafcde77
je 0x407a0d
cmp eax, 0x20b998b
jne 0x407a29
mov eax, 0x7f0bf7b7
cmp dword [ebp - 0x14], 0
je 0x407a02
mov eax, 0xc65659ca
mov dword [ebp - 0x37c], eax
jmp 0x407330
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x52d68c70
jne 0x407a1e
mov eax, 0x57289bea
mov dword [ebp - 0x37c], eax
jmp 0x407330
cmp eax, 0x2357853
jne 0x407330
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, 0x91ea2b51
je 0x407a5c
mov eax, 0x84bdf084
mov dword [ebp - 0x37c], eax
jmp 0x407330
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret