Function at 0x403370
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x324]
mov edi, dword fs:[0x18]
sub esp, 0x3c0
mov eax, dword [sym.imp.lz32.dll_LZOpenFileW]
mov dword [ebp - 0x3a8], edi
mov dword [edi + 0x34], 0xfaceabee
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.badfilename.xtn
mov dword [ebp - 0x3ac], eax
call eax
sub esp, 0xc
cmp dword [edi + 0x34], 0x78
je 0x4046a0
mov esi, eax
mov edi, ebx
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2ca
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLastError___returns__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 2
sete al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2cc
xor eax, eax
cmp esi, 0xffffffff
sete al
mov dword [esp + 4], str.LZOpenFileW_succeeded_on_nonexistent_file_n
mov dword [esp], eax
call fcn.00401720
mov eax, dword [sym.imp.lz32.dll_LZClose]
mov dword [esp], esi
lea esi, [ebp - 0x214]
mov dword [ebp - 0x3b4], eax
call eax
mov eax, 0xa5a5a5a5
mov ecx, 0x22
mov edx, esi
rep stosd dword es:[edi], eax
sub esp, 4
mov eax, str.testfile.xx_
call fcn.00401740
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1000
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov ecx, edi
not ecx
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2d4
mov eax, ecx
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFile_failed_on_creation_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx edx, byte [ebp - 0x324]
mov dword [eax + 4], 0x2d5
cmp dl, 0x88
mov dword [esp + 8], edx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx edx, word [ebp - 0x322]
mov dword [eax + 4], 0x2d7
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea ecx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2d9
mov dword [esp], ecx
mov ecx, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], esi
mov dword [ebp - 0x3b0], ecx
call ecx
lea edx, [ebp - 0x31c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov edx, dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
mov dword [esp], 0x406144
mov dword [ebp - 0x3b8], edx
call edx
sub esp, 4
mov edi, eax
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2df
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetFileAttributes:_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
mov edi, ebx
setne al
mov dword [esp], eax
call fcn.00401720
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2e7
mov eax, edi
not eax
mov dword [esp + 4], str.LZOpenFileW_failed_on_read_n
shr eax, 0x1f
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, byte [ebp - 0x324]
mov dword [eax + 4], 0x2e8
cmp cl, 0x88
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, word [ebp - 0x322]
mov dword [eax + 4], 0x2ea
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea edx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2ec
mov dword [esp + 4], esi
mov dword [esp], edx
mov ecx, dword [ebp - 0x3b0]
call ecx
lea edx, [ebp - 0x31c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov edi, ebx
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2f5
mov eax, edi
not eax
mov dword [esp + 4], str.LZOpenFileW_failed_on_write_n
shr eax, 0x1f
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, byte [ebp - 0x324]
mov dword [eax + 4], 0x2f6
cmp cl, 0x88
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, word [ebp - 0x322]
mov dword [eax + 4], 0x2f8
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea edx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2fa
mov dword [esp + 4], esi
mov dword [esp], edx
mov ecx, dword [ebp - 0x3b0]
call ecx
lea edx, [ebp - 0x31c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov edi, ebx
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x303
mov eax, edi
not eax
mov dword [esp + 4], str.LZOpenFileW_failed_on_read_write_n
shr eax, 0x1f
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, byte [ebp - 0x324]
mov dword [eax + 4], 0x304
cmp cl, 0x88
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, word [ebp - 0x322]
mov dword [eax + 4], 0x306
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea edx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x308
mov dword [esp + 4], esi
mov dword [esp], edx
mov eax, dword [ebp - 0x3b0]
call eax
lea edx, [ebp - 0x31c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov edi, ebx
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x4000
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x311
mov eax, edi
not eax
mov dword [esp + 4], str.LZOpenFileW_failed_on_read_write_n
shr eax, 0x1f
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, byte [ebp - 0x324]
mov dword [eax + 4], 0x312
cmp cl, 0x88
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, word [ebp - 0x322]
mov dword [eax + 4], 0x314
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea edx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x316
mov dword [esp], edx
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x3b0]
call eax
lea ecx, [ebp - 0x31c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov edi, ebx
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x200
mov dword [esp], 0x406144
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov ebx, eax
call fcn.00404ab0
mov ecx, ebx
not ecx
mov dword [eax], 0x408127
mov dword [eax + 4], 0x31f
mov eax, ecx
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFileW_failed_on_delete_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, byte [ebp - 0x324]
mov dword [eax + 4], 0x320
cmp cl, 0x88
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
movzx ecx, word [ebp - 0x322]
mov dword [eax + 4], 0x322
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
lea ecx, [ebp - 0x31c]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x324
mov dword [esp], ecx
mov dword [esp + 4], esi
mov edi, dword [ebp - 0x3b0]
call edi
lea edi, [ebp - 0x29c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
lea esi, [ebp - 0x31c]
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], ebx
mov esi, dword [ebp - 0x3b4]
call esi
lea esi, [ebp - 0x29c]
sub esp, 4
mov dword [esp], 0x406144
mov edx, dword [ebp - 0x3b8]
call edx
sub esp, 4
mov ebx, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x32a
xor eax, eax
cmp ebx, 0xffffffff
lea ebx, [ebp - 0x110]
sete al
mov dword [esp + 4], str.GetFileAttributesW_succeeded_on_deleted_file_n
mov dword [esp], eax
call fcn.00401720
mov eax, 0x406144
call fcn.004019d0
mov eax, 0x40610c
call fcn.004019d0
mov eax, 0x4060cc
call fcn.004019d0
mov eax, 0x406040
call fcn.004019d0
mov edx, ebx
xor ecx, ecx
mov eax, str.testfile.xx_
call fcn.00401740
mov eax, 0xa5a5a5a5
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0x4000
mov dword [esp], 0x406160
mov ecx, dword [ebp - 0x3ac]
call ecx
mov edi, eax
sub esp, 0xc
call fcn.00404ab0
mov esi, edi
not esi
mov dword [eax], 0x408127
mov dword [eax + 4], 0x220
mov eax, esi
lea esi, [ebp - 0x294]
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFileW_failed_on_switching_to_a_compressed_file_name_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x221
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0x88
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x223
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x226
mov dword [esp + 4], ebx
mov dword [esp], esi
mov eax, dword [ebp - 0x3b0]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
lea edi, [ebp - 0x29c]
mov eax, 0xa5a5a5a5
mov edx, ebx
mov ecx, 0x22
sub esp, 4
rep stosd dword es:[edi], eax
mov eax, str.dotless._
call fcn.00401740
lea ecx, [ebp - 0x29c]
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ecx
mov dword [esp], 0x406120
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov ecx, edi
not ecx
mov dword [eax], 0x408127
mov dword [eax + 4], 0x230
mov eax, ecx
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFileW_failed_on_switching_to_a_compressed_file_name_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x231
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0x88
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x233
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x236
mov dword [esp + 4], ebx
mov dword [esp], esi
mov eax, dword [ebp - 0x3b0]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
lea edi, [ebp - 0x29c]
mov eax, 0xa5a5a5a5
mov edx, ebx
mov ecx, 0x22
sub esp, 4
rep stosd dword es:[edi], eax
mov eax, str.extless._
call fcn.00401740
lea ecx, [ebp - 0x29c]
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ecx
mov dword [esp], 0x4060e0
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov ecx, edi
not ecx
mov dword [eax], 0x408127
mov dword [eax + 4], 0x240
mov eax, ecx
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFileW_failed_on_switching_to_a_compressed_file_name_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x241
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0x88
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x243
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x246
mov dword [esp + 4], ebx
mov dword [esp], esi
mov eax, dword [ebp - 0x3b0]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
lea edi, [ebp - 0x29c]
mov eax, 0xa5a5a5a5
mov edx, ebx
mov ecx, 0x22
sub esp, 4
rep stosd dword es:[edi], eax
mov eax, 0x4060a4
call fcn.00401740
lea ecx, [ebp - 0x29c]
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ecx
mov dword [esp], 0x406080
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov ecx, edi
not ecx
mov dword [eax], 0x408127
mov dword [eax + 4], 0x250
mov eax, ecx
shr eax, 0x1f
mov dword [esp + 4], str.LZOpenFileW_failed_on_switching_to_a_compressed_file_name_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x251
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0x88
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x253
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x256
mov dword [esp + 4], ebx
mov dword [esp], esi
mov eax, dword [ebp - 0x3b0]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_n
call fcn.00401720
mov dword [esp], edi
mov edi, dword [ebp - 0x3b4]
call edi
mov eax, 0x406144
lea edi, [ebp - 0x3a4]
sub esp, 4
call fcn.00401a90
mov eax, 0x40610c
call fcn.00401a90
mov eax, 0x4060cc
call fcn.00401a90
mov eax, 0x406040
call fcn.00401a90
mov eax, 0xa5a5a5a5
mov ecx, 0x20
mov edx, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x29c]
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov eax, str.testfile.xx_
lea edi, [ebp - 0x29c]
call fcn.00401740
mov edx, dword [ebp - 0x3a8]
mov dword [edx + 0x34], 0xfaceabee
mov dword [esp + 4], edi
mov dword [esp + 8], 0x4000
mov dword [esp], 0x406160
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x274
xor eax, eax
cmp edi, 0xffffffff
sete al
mov dword [esp + 4], str.LZOpenFileW_succeeded_on_nonexistent_file_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x276
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLastError___returns__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 2
sete al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x278
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0xa5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x27a
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x27c
mov dword [esp + 4], ebx
mov dword [esp], esi
mov edi, dword [ebp - 0x3b0]
call edi
lea edi, [ebp - 0x3a4]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0x10], edi
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_or__s_n
call fcn.00401720
mov eax, 0xa5a5a5a5
mov ecx, 0x20
mov edx, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x29c]
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov eax, str.dotless._
lea edi, [ebp - 0x29c]
call fcn.00401740
mov edx, dword [ebp - 0x3a8]
mov dword [edx + 0x34], 0xfaceabee
mov dword [esp + 4], edi
mov dword [esp + 8], 0x4000
mov dword [esp], 0x406120
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x287
xor eax, eax
cmp edi, 0xffffffff
sete al
mov dword [esp + 4], str.LZOpenFileW_succeeded_on_nonexistent_file_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x289
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLastError___returns__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 2
sete al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x28b
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0xa5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x28d
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x28f
mov dword [esp + 4], ebx
mov dword [esp], esi
mov edi, dword [ebp - 0x3b0]
call edi
lea edi, [ebp - 0x3a4]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0x10], edi
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_or__s_n
call fcn.00401720
mov eax, 0xa5a5a5a5
mov ecx, 0x20
mov edx, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x29c]
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov eax, str.extless._
lea edi, [ebp - 0x29c]
call fcn.00401740
mov edx, dword [ebp - 0x3a8]
mov dword [edx + 0x34], 0xfaceabee
mov dword [esp + 4], edi
mov dword [esp + 8], 0x4000
mov dword [esp], 0x4060e0
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x29a
xor eax, eax
cmp edi, 0xffffffff
sete al
mov dword [esp + 4], str.LZOpenFileW_succeeded_on_nonexistent_file_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x29c
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLastError___returns__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 2
sete al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x29e
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0xa5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2a0
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2a2
mov dword [esp + 4], ebx
mov dword [esp], esi
mov edi, dword [ebp - 0x3b0]
call edi
lea edi, [ebp - 0x3a4]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0x10], edi
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_or__s_n
call fcn.00401720
mov eax, 0xa5a5a5a5
mov ecx, 0x20
mov edx, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x29c]
mov ecx, 0x22
rep stosd dword es:[edi], eax
mov eax, 0x4060a4
call fcn.00401740
mov edx, dword [ebp - 0x3a8]
lea eax, [ebp - 0x29c]
mov dword [edx + 0x34], 0xfaceabee
mov dword [esp + 8], 0x4000
mov dword [esp + 4], eax
mov dword [esp], 0x406080
mov ecx, dword [ebp - 0x3ac]
call ecx
sub esp, 0xc
mov edi, eax
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2ad
xor eax, eax
cmp edi, 0xffffffff
sete al
mov dword [esp + 4], str.LZOpenFileW_succeeded_on_nonexistent_file_n
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov edx, dword [ebp - 0x3a8]
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2af
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLastError___returns__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 2
sete al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2b1
movzx edx, byte [ebp - 0x29c]
mov dword [esp + 4], str.LZOpenFileW_set_test.cBytes_to__d_n
cmp dl, 0xa5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2b3
movzx edx, word [ebp - 0x29a]
mov dword [esp + 4], str.LZOpenFileW_set_test.nErrCode_to__d_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401720
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2b5
mov dword [esp + 4], ebx
mov dword [esp], esi
mov edi, dword [ebp - 0x3b0]
call edi
lea edx, [ebp - 0x3a4]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
mov dword [esp + 4], str.LZOpenFileW_returned__s__but_was_expected_to_return__s_or__s_n
mov dword [esp], eax
call fcn.00401720
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00404ab0
mov dword [eax], 0x408127
mov dword [eax + 4], 0x2c7
mov dword [esp], str.LZOpenFileW_call_is_not_implemented_n
call fcn.004015e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret