Function at 0x4193b0
Capabilities:
Create directory
Delete directory
Get common file path

Disassembly:
push ebp
mov eax, 0x1664
mov ebp, esp
push edi
push esi
push ebx
call fcn.0057e5f0
sub esp, eax
lea eax, [ebp - 0x1624]
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathW]
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x19d
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], str.temp_path_failed_n
mov dword [esp], eax
call fcn.00414890
cmp word [ebp - 0x1624], 0
lea edx, [ebp - 0x1624]
je 0x419429
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x419420
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x58a314]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x419430
xor eax, eax
lea esi, [esi]
movzx edx, word [ebp + eax - 0x1624]
mov word [ebp + eax - 0x141c], dx
add eax, 2
test dx, dx
jne 0x419448
cmp word [ebp - 0x141c], 0
lea edx, [ebp - 0x141c]
je 0x419479
add edx, 2
cmp word [edx], 0
jne 0x419470
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x58a308]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x419480
xor eax, eax
lea esi, [esi]
movzx edx, word [ebp + eax - 0x1624]
mov word [ebp + eax - 0x1214], dx
add eax, 2
test dx, dx
jne 0x419498
cmp word [ebp - 0x1214], 0
lea edx, [ebp - 0x1214]
je 0x4194c9
add edx, 2
cmp word [edx], 0
jne 0x4194c0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + str.hooga]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4194d0
mov edi, dword [sym.imp.kernel32.dll_RemoveDirectoryW]
lea eax, [ebp - 0x1214]
mov dword [esp], eax
mov dword [ebp - 0x1650], edi
call edi
lea eax, [ebp - 0x141c]
sub esp, 4
mov dword [esp], eax
call edi
lea eax, [ebp - 0x1624]
sub esp, 4
mov dword [esp], eax
call edi
lea eax, [ebp - 0x1624]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_CreateDirectoryW]
mov dword [esp + 4], 0
mov dword [ebp - 0x164c], eax
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1ab
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_create_directory_n
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00414890
mov dword [ebx + 0x34], 0xd0b00b00
mov edi, dword [sym.imp.kernel32.dll_ReadDirectoryChangesW]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call edi
sub esp, 0x20
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1af
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1b0
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1624]
mov dword [esp + 0x18], 0
mov dword [esp], ecx
mov dword [esp + 0x14], 0x42000000
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0x80100001
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1b6
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp + 4], str.failed_to_open_directory_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateEventW]
mov dword [ebx + 0x34], 0xd0b00b00
sub esp, 0x10
mov dword [ebp - 0x1628], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x1640], esi
mov dword [esp], esi
call edi
sub esp, 0x20
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1bc
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1bd
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1638]
mov dword [ebx + 0x34], 0xd0b00b00
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov esi, dword [ebp - 0x1640]
mov dword [esp], esi
mov dword [ebp - 0x1644], edi
call edi
lea edi, [ebp - 0x100c]
sub esp, 0x20
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1c1
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1c2
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
xor eax, eax
mov ecx, 0x400
mov dword [ebx + 0x34], 0xd0b00b00
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x1638]
mov dword [ebp - 0x1638], 0
mov dword [ebp - 0x1634], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
mov esi, dword [ebp - 0x1644]
call esi
sub esp, 0x20
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1d3
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1d4
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1638]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
call esi
sub esp, 0x20
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1d7
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1d8
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1638]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x17f
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x1000
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
call esi
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1db
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.should_return_true_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0xa
mov esi, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
mov dword [ebp - 0x1648], esi
call esi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1de
xor eax, eax
cmp ebx, 0x102
sete al
mov dword [esp + 4], 0x589c87
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x141c]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov eax, dword [ebp - 0x164c]
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1e1
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_create_directory_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0x3e8
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1e4
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.event_should_be_ready_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1e6
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
mov edi, dword [ebp - 0x1638]
test edi, edi
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1e7
xor eax, eax
mov dword [esp + 4], str.ov.InternalHigh_wrong_n
cmp dword [ebp - 0x1634], 0x12
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1ea
xor eax, eax
mov dword [esp + 4], str.offset_wrong_n
mov edx, dword [ebp - 0x100c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1eb
xor eax, eax
mov dword [esp + 4], str.action_wrong_n
cmp dword [ebp - 0x1008], 1
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1ec
xor eax, eax
mov dword [esp + 4], str.len_wrong_n
cmp dword [ebp - 0x1004], 6
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1ed
cmp dword [ebp - 0x1000], 0x6f0068
je 0x41a81b
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.00414890
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ResetEvent]
lea eax, [ebp - 0x100c]
mov dword [edi + 0x34], 0xd0b00b00
sub esp, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x1640]
mov dword [esp], esi
mov eax, dword [ebp - 0x1644]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1f2
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1f3
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1638]
mov dword [esp], esi
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov eax, dword [ebp - 0x1644]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1f6
xor eax, eax
mov dword [esp + 4], str.last_error_wrong_n
cmp dword [edi + 0x34], 0x57
lea edi, [ebp - 0x100c]
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x1f7
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x58a1dd
mov dword [esp], eax
call fcn.00414890
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetEvent]
xor eax, eax
mov ecx, 0x400
mov dword [ebp - 0x1638], 1
rep stosd dword es:[edi], eax
sub esp, 4
lea ecx, [ebp - 0x1638]
mov dword [ebp - 0x1634], 1
mov dword [ebp - 0x1630], 0
mov dword [ebp - 0x162c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov eax, dword [ebp - 0x1644]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x202
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.should_return_true_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x204
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
cmp dword [ebp - 0x1638], 0x103
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x205
xor eax, eax
mov dword [esp + 4], str.ov.InternalHigh_wrong_n
cmp dword [ebp - 0x1634], 1
sete al
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
mov edi, dword [ebp - 0x1648]
call edi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x208
xor eax, eax
cmp ebx, 0x102
sete al
mov dword [esp + 4], 0x589c87
mov dword [esp], eax
call fcn.00414890
lea eax, [ebp - 0x141c]
mov dword [esp], eax
mov eax, dword [ebp - 0x1650]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x20b
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_remove_directory_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0x3e8
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
call edi
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x20e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.should_be_ready_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x210
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
mov ebx, dword [ebp - 0x1638]
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x211
xor eax, eax
mov dword [esp + 4], str.ov.InternalHigh_wrong_n
cmp dword [ebp - 0x1634], 0x12
sete al
mov dword [esp], eax
call fcn.00414890
mov esi, dword [ebp - 0x1638]
test esi, esi
je 0x41a8f4
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x21b
xor eax, eax
mov dword [esp + 4], str.offset_wrong_n
mov ecx, dword [ebp - 0x100c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x21c
xor eax, eax
mov dword [esp + 4], str.action_wrong_n
cmp dword [ebp - 0x1008], 2
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x21d
xor eax, eax
mov dword [esp + 4], str.len_wrong_n
cmp dword [ebp - 0x1004], 6
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x21e
cmp dword [ebp - 0x1000], 0x6f0068
je 0x41a8df
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
mov dword [esp], eax
call fcn.00414890
lea eax, [ebp - 0x1638]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x100c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x1640]
mov dword [esp], edi
mov esi, dword [ebp - 0x1644]
call esi
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x222
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.should_return_true_n
mov dword [esp], eax
call fcn.00414890
lea eax, [ebp - 0x141c]
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x164c]
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x225
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_create_directory_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0x3e8
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
mov ecx, dword [ebp - 0x1648]
call ecx
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x228
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.should_be_ready_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x22a
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
cmp dword [ebp - 0x1638], 0x10c
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x22b
xor eax, eax
mov dword [esp + 4], str.ov.InternalHigh_wrong_n
mov edx, dword [ebp - 0x1634]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1638]
mov dword [esp], edi
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x100c]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
call esi
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x22f
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.should_return_true_n
mov dword [esp], eax
call fcn.00414890
lea ecx, [ebp - 0x1214]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov eax, dword [ebp - 0x164c]
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x232
mov dword [esp + 4], str.failed_to_create_directory_n
lea esi, [esi]
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0x3e8
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
mov eax, dword [ebp - 0x1648]
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x237
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.should_be_ready_n
mov dword [esp], eax
call fcn.00414890
cmp ebx, 0x102
je 0x41a4ea
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x23a
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
mov ebx, dword [ebp - 0x1638]
test ebx, ebx
lea ebx, [ebp - 0x100c]
sete al
xor edi, edi
lea esi, [ebx + 0xc]
mov dword [esp], eax
call fcn.00414890
cmp dword [ebx + 4], 3
je 0x41a3cb
nop
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x247
xor eax, eax
mov dword [esp + 4], str.action_wrong_n
cmp dword [ebx + 4], 1
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x248
xor eax, eax
mov dword [esp + 4], str.len_wrong_n
cmp dword [ebx + 8], 0xc
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x249
cmp dword [ebx + 0xc], 0x6f0068
je 0x41a4b0
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
mov dword [esp], eax
call fcn.00414890
mov eax, dword [ebx]
test eax, eax
je 0x41a996
mov edi, 1
add ebx, eax
cmp dword [ebx + 4], 3
lea esi, [ebx + 0xc]
jne 0x41a320
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x242
xor eax, eax
mov dword [esp + 4], str.len_wrong_n
cmp dword [ebx + 8], 6
sete al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x243
cmp dword [ebx + 0xc], 0x6f0068
je 0x41a4d8
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
mov dword [esp], eax
call fcn.00414890
mov eax, dword [ebx]
test eax, eax
jne 0x41a3bc
test edi, edi
jne 0x41a996
lea eax, [ebp - 0x1638]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x100c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
mov eax, dword [ebp - 0x1644]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x253
mov dword [esp + 4], str.should_return_true_n
jmp 0x41a278
cmp dword [esi + 4], 0x5c006f
jne 0x41a395
xor eax, eax
cmp dword [esi + 8], 0x610067
jne 0x41a395
jmp 0x41a39a
xor eax, eax
cmp word [esi + 4], 0x6f
jne 0x41a415
jmp 0x41a41a
xor ebx, ebx
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x255
mov dword [esp], ebx
mov dword [esp + 4], str.didnt_get_subdir_change_n
call fcn.00414890
lea eax, [ebp - 0x1214]
mov dword [esp], eax
mov edi, dword [ebp - 0x1650]
call edi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x258
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_remove_directory_n
mov dword [esp], eax
call fcn.00414890
lea eax, [ebp - 0x1638]
mov dword [ebp - 0x1638], 1
mov dword [ebp - 0x1634], 1
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x100c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
mov eax, dword [ebp - 0x1644]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x25d
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.should_return_true_n
mov dword [esp], eax
call fcn.00414890
lea eax, [ebp - 0x141c]
mov dword [esp], eax
call edi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x260
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_remove_directory_n
mov dword [esp], eax
call fcn.00414890
mov dword [esp + 4], 0x3e8
mov eax, dword [ebp - 0x1628]
mov dword [esp], eax
mov eax, dword [ebp - 0x1648]
call eax
sub esp, 8
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x263
xor eax, eax
test ebx, ebx
lea ebx, [ebp - 0x100c]
sete al
mov dword [esp + 4], str.should_be_ready_n
mov dword [esp], eax
call fcn.00414890
cmp dword [ebp - 0x1008], 3
je 0x41a851
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x26d
mov eax, dword [ebx]
mov dword [esp + 4], str.offset_wrong__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x26e
mov eax, dword [ebx + 4]
mov dword [esp + 4], str.action_wrong__lu_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x26f
mov eax, dword [ebx + 8]
mov dword [esp + 4], str.len_wrong__lu_n
cmp eax, 0xc
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x270
cmp dword [ebx + 0xc], 0x6f0068
je 0x41a830
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x272
xor eax, eax
mov dword [esp + 4], str.ov.Internal_wrong_n
mov edx, dword [ebp - 0x1638]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00414890
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x100c]
shr eax, 1
lea eax, [ebx + eax*2 + 0xc]
sub eax, ecx
mov dword [ebp - 0x163c], eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov edx, dword [ebp - 0x163c]
mov dword [eax + 4], 0x274
mov eax, dword [ebp - 0x1634]
mov dword [esp + 0xc], edx
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.ov.InternalHigh_wrong__Iu__lu_n
movzx eax, al
mov dword [esp], eax
call fcn.00414890
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
lea eax, [ebp - 0x1624]
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x1650]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x279
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.failed_to_remove_directory_n
mov dword [esp], eax
call fcn.00414890
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
cmp word [ebp - 0xffc], 0x6f
jne 0x419bc8
jmp 0x419bcd
cmp dword [ebx + 0x10], 0x5c006f
jne 0x41a725
xor eax, eax
cmp dword [ebx + 0x14], 0x610067
jne 0x41a725
jmp 0x41a72a
mov ecx, dword [ebp - 0x100c]
test ecx, ecx
je 0x41a672
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x269
mov eax, dword [ebp - 0x1004]
mov dword [esp + 4], str.len_wrong__lu_n
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x26a
cmp dword [ebp - 0x1000], 0x6f0068
je 0x41a981
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.name_wrong_n
lea ebx, [ebp - 0x100c]
mov dword [esp], eax
call fcn.00414890
add ebx, dword [ebp - 0x100c]
jmp 0x41a672
xor eax, eax
cmp word [ebp - 0xffc], 0x6f
jne 0x41a046
jmp 0x41a04b
lea eax, [ebp - 0x163c]
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x1638]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1640]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetOverlappedResult]
sub esp, 0x10
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x216
xor eax, eax
cmp ebx, 1
sete al
mov dword [esp + 4], str.getoverlappedresult_failed_n
mov dword [esp], eax
call fcn.00414890
call fcn.0057d110
mov dword [eax], 0x589a87
mov dword [eax + 4], 0x217
xor eax, eax
mov dword [esp + 4], str.count_wrong_n
cmp dword [ebp - 0x163c], 0x12
sete al
mov dword [esp], eax
call fcn.00414890
jmp 0x419f99
xor eax, eax
cmp word [ebp - 0xffc], 0x6f
jne 0x41a8b6
jmp 0x41a8bb
mov ebx, 1
jmp 0x41a4ec