Function at 0x407ae0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569a67
mov eax, dword fs:[0]
push eax
sub esp, 0x468
mov eax, dword [0x5d2640]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30c], 0
push 0x5792ab
mov ecx, dword [ebp + 8]
call fcn.0040e310
movzx eax, al
test eax, eax
je 0x407b2e
jmp 0x408323
push 0x64
push 0
lea ecx, [ebp - 0x74]
push ecx
call fcn.0051e6d0
add esp, 0xc
push 0x5792dc
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0xd4]
push eax
call fcn.00409a20
add esp, 0xc
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.0040efd0
mov dword [ebp - 0x300], eax
lea ecx, [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x300]
push edx
call fcn.0052a79a
add esp, 8
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0xffffffff
jne 0x407baa
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.0040f520
jmp 0x408323
cmp dword [ebp - 0x274], 0x10
jne 0x407e52
mov dword [ebp - 0x288], 0x5792e0
lea eax, [ebp - 0x250]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x284]
mov dl, byte [ecx]
mov byte [ebp - 0x277], dl
mov eax, dword [ebp - 0x288]
cmp dl, byte [eax]
jne 0x407c2b
cmp byte [ebp - 0x277], 0
je 0x407c1f
mov ecx, dword [ebp - 0x284]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x278], dl
mov eax, dword [ebp - 0x288]
cmp dl, byte [eax + 1]
jne 0x407c2b
add dword [ebp - 0x284], 2
add dword [ebp - 0x288], 2
cmp byte [ebp - 0x278], 0
jne 0x407bcd
mov dword [ebp - 0x2a0], 0
jmp 0x407c36
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2fc], edx
cmp dword [ebp - 0x2fc], 0
je 0x407e4d
mov dword [ebp - 0x290], 0x5792e4
lea eax, [ebp - 0x250]
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
mov dl, byte [ecx]
mov byte [ebp - 0x279], dl
mov eax, dword [ebp - 0x290]
cmp dl, byte [eax]
jne 0x407cc3
cmp byte [ebp - 0x279], 0
je 0x407cb7
mov ecx, dword [ebp - 0x28c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x27a], dl
mov eax, dword [ebp - 0x290]
cmp dl, byte [eax + 1]
jne 0x407cc3
add dword [ebp - 0x28c], 2
add dword [ebp - 0x290], 2
cmp byte [ebp - 0x27a], 0
jne 0x407c65
mov dword [ebp - 0x2a4], 0
jmp 0x407cce
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x2f8], edx
cmp dword [ebp - 0x2f8], 0
je 0x407e4d
lea eax, [ebp - 0x250]
push eax
push 0x5792e8
push 0x5dd740
call fcn.004094f0
add esp, 8
push eax
call fcn.004094f0
add esp, 8
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
push ecx
call fcn.0040b620
add esp, 4
push 0x5792f0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.00409a20
add esp, 0xc
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e8], ecx
mov byte [ebp - 4], 1
lea edx, [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0xec]
push ecx
call fcn.004099a0
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x104]
call fcn.0040f520
push 0x5792f4
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x14c]
push eax
call fcn.00409a20
add esp, 0xc
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e0], ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0xbc]
push ecx
call fcn.004099a0
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14c]
call fcn.0040f520
lea ecx, [ebp - 0xbc]
call fcn.0040efd0
mov dword [ebp - 0x2dc], eax
push 0
mov edx, dword [ebp - 0x2dc]
push edx
call fcn.0052a838
add esp, 8
cmp eax, 0xffffffff
jne 0x407e19
lea ecx, [ebp - 0xbc]
call fcn.0040efd0
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
push eax
call fcn.0052a8c2
add esp, 4
lea ecx, [ebp - 0xbc]
push ecx
lea edx, [ebp - 0xec]
push edx
call fcn.00407ae0
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xbc]
call fcn.0040f520
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec]
call fcn.0040f520
jmp 0x4082e4
push 0x5792f8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x134]
push ecx
call fcn.00409a20
add esp, 0xc
mov dword [ebp - 0x304], eax
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x2a8], edx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x2a8]
push ecx
lea edx, [ebp - 0x8c]
push edx
call fcn.004099a0
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x134]
call fcn.0040f520
push 0x5792fc
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00409a20
add esp, 0xc
mov dword [ebp - 0x2ac], eax
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b0], edx
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0xa4]
push edx
call fcn.004099a0
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x11c]
call fcn.0040f520
lea ecx, [ebp - 0x8c]
call fcn.0040efd0
mov dword [ebp - 0x2b4], eax
push 1
push 0x40
push 0x60
mov eax, dword [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.0040b8d0
mov ecx, dword [ebp - 0x3c4]
mov edx, dword [ecx + 4]
mov dword [ebp + edx - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax + 4]
sub ecx, 0x70
mov edx, dword [ebp - 0x3c4]
mov eax, dword [edx + 4]
mov dword [ebp + eax - 0x3c8], ecx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa4]
call fcn.0040efd0
mov dword [ebp - 0x2b8], eax
push 1
push 0x40
push 0x20
mov ecx, dword [ebp - 0x2b8]
push ecx
lea ecx, [ebp - 0x474]
call fcn.0040bb50
mov edx, dword [ebp - 0x474]
mov eax, dword [edx + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx + 4]
sub edx, 0x68
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - 0x478], edx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x3c4]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x3c4]
mov dword [ebp - 0x2bc], ecx
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
and ecx, 6
je 0x407ff9
mov byte [ebp - 0x275], 1
jmp 0x408000
mov byte [ebp - 0x275], 0
mov dl, byte [ebp - 0x275]
mov byte [ebp - 0x27b], dl
mov al, byte [ebp - 0x27b]
mov byte [ebp - 0x27f], al
movzx ecx, byte [ebp - 0x27f]
test ecx, ecx
je 0x4080b5
lea edx, [ebp - 0x8c]
push edx
push 0x579300
push 0x5dd740
call fcn.004094f0
add esp, 8
push eax
call fcn.00409470
add esp, 8
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
push eax
call fcn.0040b620
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40c]
call fcn.0040cf20
lea ecx, [ebp - 0x40c]
call fcn.0040ce70
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x354]
call fcn.0040cde0
lea ecx, [ebp - 0x354]
call fcn.0040ce70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa4]
call fcn.0040f520
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.0040f520
jmp 0x4082e4
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx + 4]
lea eax, [ebp + edx - 0x474]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2cc]
and eax, 6
je 0x4080ee
mov byte [ebp - 0x276], 1
jmp 0x4080f5
mov byte [ebp - 0x276], 0
mov cl, byte [ebp - 0x276]
mov byte [ebp - 0x27c], cl
mov dl, byte [ebp - 0x27c]
mov byte [ebp - 0x27d], dl
movzx eax, byte [ebp - 0x27d]
test eax, eax
je 0x408202
lea ecx, [ebp - 0xa4]
push ecx
push 0x579314
push 0x5dd740
call fcn.004094f0
add esp, 8
push eax
call fcn.00409470
add esp, 8
mov dword [ebp - 0x2d0], eax
mov edx, dword [ebp - 0x2d0]
push edx
call fcn.0040b620
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40c]
call fcn.0040cf20
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov dword [ecx], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x294]
mov dword [edx], vtable.std::ios_base.0
mov eax, dword [ebp - 0x294]
push eax
call fcn.0050e562
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x354]
call fcn.0040cde0
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x298]
mov dword [edx], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x298]
mov dword [eax], vtable.std::ios_base.0
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.0050e562
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa4]
call fcn.0040f520
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.0040f520
jmp 0x4082e4
mov edx, dword [ebp - 0x3c4]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x3c4]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x2d4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
and ecx, 1
mov byte [ebp - 0x27e], cl
movzx edx, byte [ebp - 0x27e]
test edx, edx
jne 0x408269
push 0
push 0x64
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x3c4]
call fcn.00410df0
push 0
push 0x64
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x474]
call fcn.00411db0
jmp 0x408202
lea edx, [ebp - 0x8c]
push edx
push 0x5dd740
call fcn.00409470
add esp, 8
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
push eax
call fcn.0040b620
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40c]
call fcn.0040cf20
lea ecx, [ebp - 0x40c]
call fcn.0040ce70
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x354]
call fcn.0040cde0
lea ecx, [ebp - 0x354]
call fcn.0040ce70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa4]
call fcn.0040f520
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.0040f520
lea ecx, [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x29c]
push edx
call fcn.0052a7b5
add esp, 8
test eax, eax
je 0x407baa
mov eax, dword [ebp - 0x29c]
push eax
call fcn.0052a774
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.0040f520
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050f496
mov esp, ebp
pop ebp
ret