Function at 0x42d342
Capabilities:
Get file size

Disassembly:
call fcn.0042daf6
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push dword [0x4a0c1c]
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x42d36b
xor eax, eax
mov dword [0x44d020], eax
cmp dword [0x44d020], 0
jne 0x42d37c
xor eax, eax
ret
push 0
push dword [0x44d020]
call sub.kernel32.dll_GetFileSize
cmp eax, 0xffffffff
je 0x42d393
cmp eax, 0xc
jae 0x42d398
jmp 0x42d755
mov dword [0x502398], eax
push dword [0x502398]
push 0x40
call sub.kernel32.dll_GlobalAlloc
cmp eax, 0
je 0x42d755
mov dword [0x44d018], eax
mov dword [0x4a0c20], eax
mov eax, dword [0x502398]
mov dword [0x4a0c24], eax
call fcn.0042db93
cmp dword [0x502398], eax
jne 0x42d755
mov dword [0x502384], 0
mov esi, dword [0x44d018]
lea edi, str.ZXTape_
mov cl, 7
mov al, byte [edi]
inc edi
cmp al, byte [esi]
jne 0x42d68a
inc esi
dec cl
jne 0x42d3f0
mov byte [0x4fb443], 2
mov edi, dword [0x4a0bc0]
mov esi, dword [0x44d018]
mov edx, esi
add edx, dword [0x502398]
add esi, 0xa
mov byte [0x4a0bc6], 0
mov byte [0x4a0bc7], 0
mov dword [0x5023ac], 0
xor eax, eax
mov dword [edi], eax
cmp esi, edx
je 0x42d6d4
jb 0x42d450
sub edi, 4
xor eax, eax
mov dword [edi], eax
jmp 0x42d6d4
mov dword [edi], esi
add edi, 4
mov eax, edx
sub eax, esi
mov dword [0x5023a0], eax
xor ebx, ebx
mov al, byte [esi]
inc esi
cmp al, 0x10
jne 0x42d48f
mov dword [0x502384], esi
inc dword [0x502388]
cmp dword [0x502388], 1
jne 0x42d484
lea eax, [esi + 2]
mov dword [0x50238c], eax
mov bx, word [esi + 2]
add ebx, 4
add esi, ebx
jmp 0x42d436
cmp al, 0x11
jne 0x42d4b2
lea ecx, [esi + 0xd]
mov dword [0x502384], ecx
inc dword [0x502388]
mov ebx, dword [esi + 0xf]
and ebx, 0xffffff
add ebx, 0x12
add esi, ebx
jmp 0x42d436
cmp al, 0x12
jne 0x42d4c4
inc dword [0x502388]
add esi, 4
jmp 0x42d436
cmp al, 0x13
jne 0x42d4dc
inc dword [0x502388]
xor eax, eax
mov al, byte [esi]
inc esi
shl eax, 1
add esi, eax
jmp 0x42d436
cmp al, 0x14
jne 0x42d502
inc dword [0x502388]
lea ecx, [esi + 5]
mov dword [0x502384], ecx
mov ebx, dword [esi + 7]
and ebx, 0xffffff
add ebx, 0xa
add esi, ebx
jmp 0x42d436
cmp al, 0x15
jne 0x42d528
inc dword [0x502388]
lea ecx, [esi + 2]
mov dword [0x502384], ecx
mov ebx, dword [esi + 5]
and ebx, 0xffffff
add ebx, 8
add esi, ebx
jmp 0x42d436
cmp al, 0x18
jne 0x42d53e
inc dword [0x502388]
mov eax, dword [esi]
add eax, 4
add esi, eax
jmp 0x42d436
cmp al, 0x19
jne 0x42d56f
inc dword [0x502388]
cmp dword [0x5023a0], 0x12
jae 0x42d556
jmp 0x42d755
mov eax, dword [esi]
cmp dword [0x5023a0], eax
jae 0x42d565
jmp 0x42d755
add eax, 4
add esi, eax
jmp 0x42d436
cmp al, 0x20
jne 0x42d57b
add esi, 2
jmp 0x42d436
cmp al, 0x21
jne 0x42d589
mov bl, byte [esi]
inc ebx
add esi, ebx
jmp 0x42d436
cmp al, 0x22
jne 0x42d592
jmp 0x42d436
cmp al, 0x23
jne 0x42d59e
add esi, 2
jmp 0x42d436
cmp al, 0x24
jne 0x42d5aa
add esi, 2
jmp 0x42d436
cmp al, 0x25
jne 0x42d5b3
jmp 0x42d436
cmp al, 0x26
jne 0x42d5c6
mov bx, word [esi]
shl ebx, 1
add ebx, 2
add esi, ebx
jmp 0x42d436
cmp al, 0x27
jne 0x42d5cf
jmp 0x42d436
cmp al, 0x28
jne 0x42d5e0
mov bx, word [esi]
add ebx, 2
add esi, ebx
jmp 0x42d436
cmp al, 0x2a
jne 0x42d5ec
add esi, 4
jmp 0x42d436
cmp al, 0x2b
jne 0x42d5f8
add esi, 5
jmp 0x42d436
cmp al, 0x30
jne 0x42d606
mov bl, byte [esi]
inc ebx
add esi, ebx
jmp 0x42d436
cmp al, 0x31
jne 0x42d617
mov bl, byte [esi + 1]
add ebx, 2
add esi, ebx
jmp 0x42d436
cmp al, 0x32
jne 0x42d628
mov bx, word [esi]
add ebx, 2
add esi, ebx
jmp 0x42d436
cmp al, 0x33
jne 0x42d641
mov bl, byte [esi]
xor cx, cx
mov cl, bl
shl bx, 1
add bx, cx
inc ebx
add esi, ebx
jmp 0x42d436
cmp al, 0x34
jne 0x42d64d
add esi, 8
jmp 0x42d436
cmp al, 0x35
jne 0x42d65e
mov ebx, dword [esi + 0x10]
add ebx, 0x14
add esi, ebx
jmp 0x42d436
cmp al, 0x40
jne 0x42d675
mov ebx, dword [esi + 1]
and ebx, 0xffffff
add ebx, 4
add esi, ebx
jmp 0x42d436
cmp al, 0x5a
jne 0x42d681
add esi, 9
jmp 0x42d436
sub edi, 4
xor eax, eax
mov dword [edi], eax
jmp 0x42d6d4
mov byte [0x4fb443], 1
mov edi, dword [0x4a0bc0]
mov esi, dword [0x44d018]
mov edx, esi
add edx, dword [0x502398]
inc dword [0x502388]
cmp dword [0x502388], 1
jne 0x42d6ba
mov dword [0x50238c], esi
mov dword [edi], esi
add edi, 4
movzx eax, word [esi]
add eax, 2
add esi, eax
cmp esi, edx
jb 0x42d6a5
je 0x42d6d0
sub edi, 4
xor eax, eax
mov dword [edi], eax
cmp byte [0x4fb443], 2
jne 0x42d6ea
mov dword [edi], 0x47a1fd
mov dword [edi + 4], 0
mov al, byte [0x4fb443]
cmp al, 1
je 0x42d6f7
cmp al, 2
jne 0x42d70c
push dword [0x44d020]
call sub.kernel32.dll_CloseHandle
mov dword [0x44d020], 0
mov word [0x5023b0], 0
mov dword [0x5023a4], 0x42dc97
mov word [0x5023b6], 0
cmp byte [0x5023d1], 0
je 0x42d736
call fcn.0042e9a0
mov esi, dword [0x4a0bc0]
xor cx, cx
lodsd eax, dword [esi]
or eax, eax
je 0x42d748
inc cx
jmp 0x42d73f
mov word [0x4a0bc4], cx
mov eax, 1
ret
call fcn.0042daf6
ret