Function at 0x40ce50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xec
mov ecx, dword [0x439b8c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xfc]
push edi
xor edi, edi
mov eax, dword [esi]
mov dword [esp + 0x40], edi
cmp ecx, eax
je 0x40cea7
cmp eax, edi
jbe 0x40cea7
sub ecx, eax
push edi
push ecx
push str.__There_are_an_extra__ld_bytes_preceding_this_file._n_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [0x439b8c]
add esp, 0x10
mov edx, dword [0x439b7c]
mov ebx, dword [0x439b74]
xor eax, eax
and edx, 0xffff
mov ax, word [0x439b7e]
push 3
add ebx, eax
add edx, ebx
lea eax, [edx + ecx + 0x1e]
xor ecx, ecx
mov dword [esi], eax
mov cx, word [0x439b7e]
push ecx
call fcn.00407860
mov esi, eax
add esp, 8
cmp esi, edi
mov dword [esp + 0x44], esi
je 0x40cf05
mov eax, dword [0x439b40]
cmp eax, edi
je 0x40cf01
push eax
call fcn.00413326
add esp, 4
mov dword [0x439b40], edi
mov dword [esp + 0x40], esi
mov eax, dword [0x429b00]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax + 0x13]
mov cl, byte [eax + 0x12]
mov al, byte [0x439b67]
mov dword [esp + 0x30], edx
cmp al, 0x1f
mov edi, ecx
jae 0x40cf29
xor ebx, ebx
mov bl, al
jmp 0x40cf2e
mov ebx, 0x1f
mov ax, word [0x439b6a]
xor edx, edx
mov dl, byte [0x439b66]
cmp ax, 0xd
mov ebp, edx
jae 0x40cf4b
xor esi, esi
mov si, ax
jmp 0x40cf50
mov esi, 0xd
push 0
push 2
push 0x4250f8
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
call fcn.00409f60
mov eax, dword [0x439b8c]
push 0
push eax
push eax
push str._n__offset_of_local_header_from_start_of_archive:______lu___.8lXh__bytes_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp eax, 0x1f
jb 0x40cfc4
xor eax, eax
lea ecx, [esp + 0x4c]
mov al, byte [0x439b65]
push eax
push str.unknown___d_
push ecx
call fcn.00412920
add esp, 0xc
lea eax, [esp + 0x4c]
jmp 0x40cfcf
mov edx, dword [esp + 0x30]
mov eax, dword [edx*4 + 0x4252b4]
push 0
push eax
push str.__file_system_or_operating_system_of_origin:_________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, edi
xor edx, edx
mov ecx, 0xa
add esp, 0x10
div ecx
push 0
mov eax, 0xcccccccd
push edx
mul edi
shr edx, 3
push edx
push str.__version_of_encoding_software:______________________u._u_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp ebx, 0x1f
jae 0x40d047
mov eax, dword [ebx*4 + 0x4252b4]
test eax, eax
jne 0x40d066
xor edx, edx
lea eax, [esp + 0x4c]
mov dl, byte [0x439b67]
push edx
push str.unknown___d_
push eax
call fcn.00412920
add esp, 0xc
lea eax, [esp + 0x4c]
push 0
push eax
push str.__minimum_file_system_compatibility_required:________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, ebp
xor edx, edx
mov ecx, 0xa
add esp, 0x10
div ecx
push 0
mov eax, 0xcccccccd
push edx
mul ebp
shr edx, 3
push edx
push str.__minimum_software_version_required_to_extract:______u._u_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp esi, 0xd
jb 0x40d0f5
xor edx, edx
lea eax, [esp + 0x4c]
mov dx, word [0x439b6a]
push edx
push str.unknown___d_
push eax
call fcn.00412920
add esp, 0xc
lea eax, [esp + 0x4c]
jmp 0x40d0fc
mov eax, dword [esi*4 + 0x425330]
push 0
push eax
push str.__compression_method:________________________________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp esi, 6
jne 0x40d17f
mov cl, byte [0x439b68]
push 0
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 4
add ecx, 0x34
push ecx
push str.__size_of_sliding_dictionary__implosion_:____________cK_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov edx, dword [0x439b68]
add esp, 0x10
and edx, 4
or dl, 0xc8
push 0
shr edx, 2
push edx
push str.__number_of_Shannon_Fano_trees__implosion_:__________c_n
jmp 0x40d1a7
cmp esi, 8
je 0x40d189
cmp esi, 9
jne 0x40d1c8
mov al, byte [0x439b68]
push 0
shr al, 1
and eax, 3
and eax, 0xffff
mov eax, dword [eax*4 + 0x425364]
push eax
push str.__compression_sub_type__deflation_:__________________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
test byte [0x439b68], 1
mov eax, 0x420cd8
jne 0x40d1db
mov eax, 0x425444
push 0
push eax
push str.__file_security_status:______________________________sencrypted_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov al, byte [0x439b68]
add esp, 0x10
test al, 8
mov eax, 0x425440
jne 0x40d217
mov eax, 0x42543c
push 0
push eax
push str.__extended_local_header:_____________________________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x439b6c
call fcn.0040f510
add esp, 0x1c
lea edx, [esp + 0x14]
push 0
push edx
push str.__file_last_modified_on__DOS_date_time_:_____________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [0x439b40]
add esp, 0x10
test eax, eax
je 0x40d34f
mov edx, dword [0x439b6c]
lea ecx, [esp + 0x5c]
push 0
push ecx
xor ecx, ecx
push edx
mov cx, word [0x439b7e]
push 1
push ecx
push eax
call fcn.0040b830
add esp, 0x18
test al, 1
je 0x40d34f
lea edx, [esp + 0x14]
lea eax, [esp + 0x60]
push edx
push eax
push 0x439b6c
mov byte [esp + 0x20], 0
call fcn.0040f510
add esp, 0xc
lea ecx, [esp + 0x14]
push 0
push str.local
push ecx
push str.__file_last_modified_on__UT_extra_field_modtime_:____s__s_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
lea edx, [esp + 0x24]
lea eax, [esp + 0x70]
push edx
push eax
push 0x439b6c
mov byte [esp + 0x30], 1
call fcn.0040f510
add esp, 0x1c
lea ecx, [esp + 0x14]
push 0
push 0x4217a8
push ecx
push str.__file_last_modified_on__UT_extra_field_modtime_:____s__s_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov edx, dword [0x439b70]
push 0
push edx
push str.__32_bit_CRC_value__hex_:____________________________.8lx_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [0x439b74]
add esp, 0x10
push 0
push eax
push str.__compressed_size:___________________________________lu_bytes_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [0x439b78]
add esp, 0x10
push 0
push ecx
push str.__uncompressed_size:_________________________________lu_bytes_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov edx, dword [0x439b7c]
add esp, 0x10
and edx, 0xffff
push 0
push edx
push str.__length_of_filename:________________________________u_characters_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
xor eax, eax
mov ax, word [0x439b7e]
push 0
push eax
push str.__length_of_extra_field:_____________________________u_bytes_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [0x439b80]
add esp, 0x10
and ecx, 0xffff
push 0
push ecx
push str.__length_of_file_comment:____________________________u_characters_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
xor edx, edx
add esp, 0x10
mov dx, word [0x439b82]
inc edx
push 0
push edx
push str.__disk_number_on_which_file_begins:_________________disk__u_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov al, byte [0x439b84]
add esp, 0x10
test al, 1
je 0x40d4b9
mov eax, 0x425434
jmp 0x40d4c7
test al, 2
mov eax, 0x42542c
jne 0x40d4c7
mov eax, 0x425424
push 0
push eax
push str.__apparent_file_type:________________________________s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [0x439b88]
mov esi, dword [esp + 0x40]
mov edx, eax
add esp, 0x10
shr edx, 0x10
cmp esi, 2
jne 0x40d602
xor eax, eax
lea esi, [esp + 0x15]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
test dh, 1
mov dword [esp + 0x3c], eax
je 0x40d523
mov byte [esp + 0x34], 0x52
test dl, 0x80
mov cl, 0x57
mov al, 0x44
je 0x40d534
mov byte [esp + 0x35], cl
mov byte [esp + 0x37], al
test dl, 0x40
mov bl, 0x45
je 0x40d53f
mov byte [esp + 0x36], bl
test dl, 0x20
je 0x40d549
mov byte [esp + 0x38], 0x52
test dl, 0x10
je 0x40d556
mov byte [esp + 0x39], cl
mov byte [esp + 0x3b], al
test dl, 8
je 0x40d55f
mov byte [esp + 0x3a], bl
test dl, 4
je 0x40d569
mov byte [esp + 0x3c], 0x52
test dl, 2
je 0x40d576
mov byte [esp + 0x3d], cl
mov byte [esp + 0x3f], al
test dl, 1
je 0x40d57f
mov byte [esp + 0x3e], bl
xor ebp, ebp
mov byte [esp + 0x14], 0x28
lea eax, [esp + 0x15]
xor ebx, ebx
mov edi, 4
mov cl, byte [esp + ebx + 0x34]
test cl, cl
je 0x40d59c
mov byte [eax], cl
inc eax
inc ebx
dec edi
jne 0x40d591
mov byte [eax], 0x2c
inc eax
test ebp, ebp
jne 0x40d5be
mov cl, byte [esi]
mov byte [eax], cl
inc eax
inc esi
cmp cl, 0x2c
je 0x40d5be
mov cl, byte [esi]
mov byte [eax], cl
inc eax
inc esi
cmp cl, 0x2c
jne 0x40d5b3
inc ebp
cmp ebp, 3
jl 0x40d58c
lea ecx, [esp + 0x14]
push 0
push ecx
mov byte [eax], 0
push edx
mov byte [eax - 1], 0x29
push str.__VMS_file_attributes___06o_octal_:________________s_n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov esi, dword [esp + 0x40]
add esp, 0x10
jmp 0x40da3e
cmp esi, 1
jne 0x40d6e2
mov eax, edx
and eax, 0xc00
cmp eax, 0x400
je 0x40d62d
cmp eax, 0x800
sete al
dec eax
and al, 0xdb
add eax, 0x64
mov byte [esp + 0x14], al
jmp 0x40d632
mov byte [esp + 0x14], 0x2d
mov ecx, edx
mov eax, edx
and cl, 0x80
push 0
neg cl
sbb cl, cl
and al, 0x40
and cl, 0x3b
mov byte [esp + 0x21], 0
add cl, 0x2d
neg al
sbb al, al
mov byte [esp + 0x19], cl
mov ecx, edx
and al, 0x46
and cl, 0x20
add al, 0x2d
neg cl
mov byte [esp + 0x1a], al
mov eax, edx
sbb cl, cl
and al, 0x10
and cl, 0x43
add cl, 0x2d
neg al
mov byte [esp + 0x1b], cl
mov ecx, edx
sbb al, al
and cl, 8
and al, 0x34
add al, 0x2d
neg cl
mov byte [esp + 0x1c], al
mov eax, edx
sbb cl, cl
and al, 4
and cl, 0x45
add cl, 0x2d
neg al
mov byte [esp + 0x1d], cl
mov ecx, edx
sbb al, al
and cl, 2
and al, 0x4a
add al, 0x2d
neg cl
mov byte [esp + 0x1e], al
mov eax, edx
sbb cl, cl
and al, 1
and cl, 0x38
add cl, 0x2d
neg al
mov byte [esp + 0x1f], cl
lea ecx, [esp + 0x18]
sbb al, al
push ecx
and al, 0x37
push edx
add al, 0x2d
push str.__Amiga_file_attributes___06o_octal_:______________s_n
push 0x429b04
mov byte [esp + 0x30], al
call fcn.00412920
add esp, 0x10
jmp 0x40da2a
cmp esi, 0x12
jne 0x40d847
mov eax, edx
and eax, 0xf000
cmp eax, 0xa000
ja 0x40d73c
je 0x40d735
cmp eax, 0x8000
ja 0x40d727
je 0x40d720
cmp eax, 0x4000
je 0x40d719
cmp eax, 0x5000
jne 0x40d76f
mov edi, str.Library
jmp 0x40d77b
mov edi, str.Directory
jmp 0x40d77b
mov edi, str.Sequential
jmp 0x40d77b
cmp eax, 0x9000
jne 0x40d76f
mov edi, str.Direct
jmp 0x40d77b
mov edi, str.Keyed
jmp 0x40d77b
cmp eax, 0xe000
ja 0x40d768
je 0x40d761
cmp eax, 0xb000
je 0x40d75a
cmp eax, 0xd000
jne 0x40d76f
mov edi, str._86_program
jmp 0x40d77b
mov edi, str.Indexed
jmp 0x40d77b
mov edi, str.286_program
jmp 0x40d77b
cmp eax, 0xf000
je 0x40d776
mov edi, str.___
jmp 0x40d77b
mov edi, str.386_program
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [esp + 0x14]
mov eax, ecx
mov esi, edi
mov edi, ebx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov byte [esp + 0x2c], 0
and ecx, 0x400
neg ecx
sbb cl, cl
and eax, 0x800
and cl, 0xe6
add cl, 0x48
neg eax
sbb al, al
mov byte [esp + 0x24], cl
and al, 0xe1
mov cl, 0x57
add al, 0x4d
mov byte [esp + 0x25], al
mov eax, edx
and al, 2
neg al
sbb al, al
and al, 0xd7
add al, cl
mov byte [esp + 0x26], al
mov eax, edx
and al, 4
neg al
sbb al, al
and al, 0xdc
add al, 0x52
mov byte [esp + 0x27], al
mov eax, edx
and eax, 0x200
neg eax
sbb al, al
and al, 0xe9
add al, 0x45
mov byte [esp + 0x28], al
mov eax, edx
and al, 0x40
neg al
sbb al, al
and al, 0xd6
add al, 0x58
mov byte [esp + 0x29], al
mov eax, edx
and al, 0x80
neg al
sbb al, al
and al, 0xd7
add al, cl
mov ecx, edx
and ecx, 0x100
mov byte [esp + 0x2a], al
neg ecx
sbb cl, cl
lea eax, [esp + 0x18]
and cl, 0xdc
push eax
add cl, 0x52
push edx
mov byte [esp + 0x33], cl
push str.__Theos_file_attributes___04X_hex_:__________________s_n
jmp 0x40d5d8
test esi, esi
je 0x40da12
cmp esi, 6
je 0x40da12
cmp esi, 0xb
je 0x40da12
cmp esi, 0xe
je 0x40da12
cmp esi, 0xd
je 0x40da12
cmp esi, 4
je 0x40da12
cmp esi, 0xf
je 0x40da12
mov eax, edx
and eax, 0xf000
cmp eax, 0x6000
ja 0x40d8c6
je 0x40d8bf
cmp eax, 0x1000
je 0x40d8b8
cmp eax, 0x2000
je 0x40d8b1
cmp eax, 0x4000
jne 0x40d8db
mov byte [esp + 0x14], 0x64
jmp 0x40d8f5
mov byte [esp + 0x14], 0x63
jmp 0x40d8f5
mov byte [esp + 0x14], 0x70
jmp 0x40d8f5
mov byte [esp + 0x14], 0x62
jmp 0x40d8f5
cmp eax, 0x8000
je 0x40d8f0
cmp eax, 0xa000
je 0x40d8e9
cmp eax, 0xc000
je 0x40d8e2
mov byte [esp + 0x14], 0x3f
jmp 0x40d8f5
mov byte [esp + 0x14], 0x73
jmp 0x40d8f5
mov byte [esp + 0x14], 0x6c
jmp 0x40d8f5
mov byte [esp + 0x14], 0x2d
mov ecx, edx
mov bl, 0x45
and ecx, 0x100
mov eax, edx
neg ecx
sbb cl, cl
and al, 0x20
and cl, bl
add cl, 0x2d
neg al
mov byte [esp + 0x15], cl
mov ecx, edx
sbb al, al
and cl, 4
and al, bl
add al, 0x2d
neg cl
mov byte [esp + 0x18], al
mov eax, edx
sbb cl, cl
and al, 0x80
and cl, bl
add cl, 0x2d
neg al
mov byte [esp + 0x1b], cl
mov ecx, edx
sbb al, al
and cl, 0x10
and al, 0x4a
add al, 0x2d
neg cl
mov byte [esp + 0x16], al
mov eax, edx
sbb cl, cl
and al, 2
and cl, 0x4a
add cl, 0x2d
neg al
sbb al, al
mov byte [esp + 0x19], cl
and al, 0x4a
add al, 0x2d
test dl, 0x40
mov byte [esp + 0x1c], al
je 0x40d97e
mov ecx, edx
and ecx, 0x800
neg ecx
sbb cl, cl
and cl, 0xfb
add cl, 0x78
mov byte [esp + 0x17], cl
jmp 0x40d991
mov eax, edx
and eax, 0x800
neg eax
sbb al, al
and al, 0x26
add al, 0x2d
mov byte [esp + 0x17], al
test dl, 8
je 0x40d9ae
mov ecx, edx
and ecx, 0x400
neg ecx
sbb cl, cl
and cl, 0xfb
add cl, 0x78
mov byte [esp + 0x1a], cl
jmp 0x40d9c1
mov eax, edx
and eax, 0x400
neg eax
sbb al, al
and al, 0x3f
add al, 0x2d
mov byte [esp + 0x1a], al
test dl, 1
je 0x40d9de
mov ecx, edx
and ecx, 0x200
neg ecx
sbb cl, cl
and cl, 0xfc
add cl, 0x78
mov byte [esp + 0x1d], cl
jmp 0x40d9f1
mov eax, edx
and eax, 0x200
neg eax
sbb al, al
and al, 0x27
add al, 0x2d
mov byte [esp + 0x1d], al
lea ecx, [esp + 0x14]
push 0
push ecx
push edx
push str.__Unix_file_attributes___06o_octal_:_______________s_n
push 0x429b04
mov byte [esp + 0x32], 0
call fcn.00412920
add esp, 0x10
jmp 0x40da2a
shr eax, 8
push 0
push eax
push str.__non_MSDOS_external_file_attributes:________________06lX_hex_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov eax, dword [0x439b88]
and eax, 0xff
jne 0x40da79
push 0
push 0
push str.__MS_DOS_file_attributes___02X_hex_:__________________none_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
jmp 0x40db41
cmp eax, 1
jne 0x40da88
push 0
push eax
push str.__MS_DOS_file_attributes___02X_hex_:__________________read_only_n
jmp 0x40da53
test al, 0x80
mov ebp, 0x425420
jne 0x40da96
mov ebp, 0x420cd8
test al, 0x40
mov dword [esp + 0x2c], 0x425418
jne 0x40daaa
mov dword [esp + 0x2c], 0x420cd8
test al, 0x20
mov dword [esp + 0x10], 0x425410
jne 0x40dabe
mov dword [esp + 0x10], 0x420cd8
test al, 0x10
mov ebx, 0x425408
jne 0x40dacc
mov ebx, 0x420cd8
test al, 8
mov edi, 0x425400
jne 0x40dada
mov edi, 0x420cd8
test al, 4
mov esi, 0x4253f8
jne 0x40dae8
mov esi, 0x420cd8
test al, 2
mov edx, 0x4253f0
jne 0x40daf6
mov edx, 0x420cd8
test al, 1
mov ecx, 0x4253e8
jne 0x40db04
mov ecx, 0x420cd8
push 0
push ebp
mov ebp, dword [esp + 0x34]
push ebp
mov ebp, dword [esp + 0x1c]
push ebp
push ebx
push edi
push esi
push edx
push ecx
push eax
push str.__MS_DOS_file_attributes___02X_hex_:___________________s_s_s_s_s_s_s_s_n
push 0x429b04
call fcn.00412920
add esp, 0x2c
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov esi, dword [esp + 0x40]
add esp, 0x10
mov ax, word [0x439b7e]
test ax, ax
jbe 0x40e20b
mov ecx, dword [0x439b40]
mov si, ax
mov eax, dword [esp + 0x40]
mov ebp, ecx
cmp eax, 1
mov word [esp + 0x2c], si
jle 0x40db78
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
test ecx, ecx
jne 0x40db8c
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0xec
ret
push 0
push str._n__The_central_directory_extra_field_contains:
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp si, 4
jb 0x40e1f0
push ebp
call fcn.00407d20
lea edx, [ebp + 2]
mov ebx, eax
push edx
call fcn.00407d20
mov esi, dword [esp + 0x34]
mov edi, eax
add esi, 0xfffc
add esp, 8
add ebp, 4
cmp di, si
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], esi
jbe 0x40dc37
mov eax, esi
mov ecx, ebx
and eax, 0xffff
push 0x421
and edi, 0xffff
push eax
and ecx, 0xffff
push edi
push ecx
push str._n__error:_EF_data_block__type_0x_04x__size__u_exceeds_remaining_extra_field_n_________space__u__block_length_has_been_truncated._n
push 0x429b04
call fcn.00412920
add esp, 0x14
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov edi, esi
add esp, 0x10
mov dword [esp + 0x10], edi
mov esi, ebx
and esi, 0xffff
cmp esi, 0x470f
jg 0x40dd5e
je 0x40dd54
cmp esi, 0x2605
jg 0x40dcde
je 0x40dcd4
cmp esi, 0xa
jg 0x40dca1
je 0x40dc97
mov eax, esi
dec eax
je 0x40dc8d
sub eax, 6
je 0x40dc83
sub eax, 2
jne 0x40de51
mov eax, str.OS_2
jmp 0x40de76
mov eax, str.PKWARE_AV
jmp 0x40de76
mov eax, str.PKWARE_64_bit_sizes
jmp 0x40de76
mov eax, str.PKWARE_Win32
jmp 0x40de76
mov eax, esi
sub eax, 0xc
je 0x40dcca
dec eax
je 0x40dcc0
sub eax, 0x7bb
jne 0x40de51
mov eax, str.old_Info_ZIP_Macintosh
jmp 0x40de76
mov eax, str.PKWARE_Unix
jmp 0x40de76
mov eax, str.PKWARE_VMS
jmp 0x40de76
mov eax, str.ZipIt_Macintosh
jmp 0x40de76
cmp esi, 0x4341
jg 0x40dd2c
je 0x40dd22
cmp esi, 0x2705
je 0x40dd18
cmp esi, 0x334d
je 0x40dd0e
cmp esi, 0x4154
jne 0x40de51
mov eax, str.Tandem_NSK
jmp 0x40de76
mov eax, str.new_Info_ZIP_Macintosh
jmp 0x40de76
mov eax, str.ZipIt_Macintosh__short_
jmp 0x40de76
mov eax, str.Acorn_SparkFS
jmp 0x40de76
cmp esi, 0x4453
je 0x40dd4a
cmp esi, 0x4704
jne 0x40de51
mov eax, str.VM_CMS
jmp 0x40de76
mov eax, str.Security_Descriptor
jmp 0x40de76
mov eax, 0x421e2c
jmp 0x40de76
cmp esi, 0x5855
jg 0x40de03
je 0x40dde2
cmp esi, 0x4d63
jg 0x40ddba
je 0x40ddb0
cmp esi, 0x4b46
je 0x40dda6
cmp esi, 0x4c41
je 0x40dd9c
cmp esi, 0x4d49
jne 0x40de51
mov eax, str.Info_ZIP_VMS
jmp 0x40de76
mov eax, str.OS_2_ACL
jmp 0x40de76
mov eax, str.Fred_Kantor_MD5
jmp 0x40de76
mov eax, str.SmartZip_Macintosh
jmp 0x40de76
cmp esi, 0x5356
je 0x40ddd8
cmp esi, 0x5455
jne 0x40de51
mov eax, str.universal_time
jmp 0x40de76
mov eax, str.AOS_VS
jmp 0x40de76
mov ecx, dword [esp + 0x30]
mov eax, str.old_Info_ZIP_Unix_OS2_NT
cmp ecx, 3
jne 0x40de76
mov edx, dword [esp + 0x100]
mov ecx, dword [edx]
test ecx, ecx
jbe 0x40de76
jmp 0x40de71
cmp esi, 0x756e
jg 0x40de41
je 0x40de3a
cmp esi, 0x6542
je 0x40de33
cmp esi, 0x6854
je 0x40de2c
cmp esi, 0x7441
jne 0x40de51
mov eax, str.AtheOS
jmp 0x40de76
mov eax, str.Theos
jmp 0x40de76
mov eax, str.BeOS
jmp 0x40de76
mov eax, str.ASi_Unix
jmp 0x40de76
cmp esi, 0x7855
je 0x40de5f
cmp esi, 0xfb4a
je 0x40de58
mov eax, str.unknown
jmp 0x40de76
mov eax, str.SMS_QDOS
jmp 0x40de76
mov edx, dword [esp + 0x100]
mov eax, str.Unix_UID_GID
mov ecx, dword [edx]
test ecx, ecx
jbe 0x40de76
add ecx, 4
mov dword [edx], ecx
mov ecx, edi
push 0
and ecx, 0xffff
push ecx
push eax
push esi
push str._n____A_subfield_with_ID_0x_04x___s__and__u_data_bytes
push 0x429b04
mov dword [esp + 0x5c], ecx
call fcn.00412920
add esp, 0x14
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp esi, 0x4c41
jg 0x40e35d
je 0x40e306
cmp esi, 0x334d
jg 0x40e0ec
je 0x40e004
cmp esi, 0x2605
jg 0x40dfbf
je 0x40df49
cmp esi, 9
je 0x40e306
cmp esi, 0x7c8
jne 0x40e693
cmp di, 0x28
jb 0x40e1bf
push ebp
call fcn.00407d30
add esp, 4
cmp eax, 0x45454c4a
jne 0x40e1bf
lea edx, [ebp + 4]
push edx
call fcn.0040f280
mov al, byte [ebp + 0x1f]
add esp, 4
test al, 1
mov eax, str.Data_fork
jne 0x40df2f
mov eax, str.Resource_fork
push 0
push eax
push str.._n____File_is_marked_as__s
push 0x429b04
call fcn.00412920
add esp, 0xc
jmp 0x40e2ed
cmp di, 5
jb 0x40e1bf
push ebp
call fcn.00407d30
add esp, 4
cmp eax, 0x5449505a
jne 0x40e1bf
mov edx, dword [esp + 0x44]
xor eax, eax
mov al, byte [ebp + 4]
lea ecx, [eax + 0xd]
cmp edx, ecx
jb 0x40e1bf
mov bl, byte [eax + ebp + 5]
lea edx, [ebp + 5]
lea esi, [eax + ebp + 5]
push 0
push edx
push str.._n____The_Mac_long_filename_is__s
push 0x429b04
mov byte [esi], 0
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
push esi
mov byte [esi], bl
call fcn.0040f280
add esp, 0x14
jmp 0x40e1bf
cmp esi, 0x2705
jne 0x40e693
cmp di, 5
jb 0x40e1bf
push ebp
call fcn.00407d30
add esp, 4
cmp eax, 0x5449505a
jne 0x40e1bf
cmp di, 0xc
jb 0x40e1bf
lea eax, [ebp + 4]
push eax
call fcn.0040f280
add esp, 4
jmp 0x40e1bf
cmp di, 0xe
jb 0x40e1bf
push ebp
call fcn.00407d30
lea ecx, [ebp + 4]
mov edi, eax
push ecx
call fcn.00407d20
mov bx, ax
add esp, 8
and ebx, 0xffff
mov eax, 0x4253e4
mov esi, ebx
and esi, 4
jne 0x40e03c
mov eax, 0x420cd8
push 0
push eax
push edi
push str.._n____The_local_extra_field_has__lu_bytes_of__scompressed_Macintosh_n____finder_attributes
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
test esi, esi
je 0x40e087
mov esi, dword [esp + 0x100]
cmp dword [esi], 0
jbe 0x40e094
push ebp
call fcn.00407d30
mov ecx, dword [esi]
add esp, 4
add ecx, eax
mov dword [esi], ecx
jmp 0x40e094
mov edx, dword [esp + 0x100]
mov dword [edx], 0
test bl, 1
mov eax, str.Data_fork
jne 0x40e0a3
mov eax, str.Resource_fork
and bl, 8
push 0
neg bl
sbb ebx, ebx
and ebx, 0x20
add ebx, 0x20
push ebx
push eax
push str.._n____File_is_marked_as__s__File_Dates_are_in__d_Bit
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
lea eax, [ebp + 6]
push eax
call fcn.0040f280
mov edi, dword [esp + 0x24]
add esp, 0x14
jmp 0x40e1bf
cmp esi, 0x4154
je 0x40e28b
cmp esi, 0x4453
je 0x40e17d
cmp esi, 0x4b46
jne 0x40e693
cmp di, 0x13
jb 0x40e693
lea edi, [esp + 0xd8]
lea esi, [ebp + 0xf]
mov ebx, 0x10
xor ecx, ecx
mov cl, byte [esi]
push ecx
push 0x4253dc
push edi
call fcn.00412920
add esp, 0xc
dec esi
add edi, 2
dec ebx
jne 0x40e125
lea edx, [esp + 0xd8]
push 0
push edx
mov byte [esp + 0x100], 0
push str.._n____The_128_bit_MD5_signature_is__s
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov edi, dword [esp + 0x20]
add esp, 0x10
jmp 0x40e1bf
cmp di, 4
jb 0x40e1bf
push 0
push ebp
call fcn.00407d30
push eax
push str.._n____The_local_extra_field_has__lu_bytes_of_NT_security_descriptor_data
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov eax, dword [esp + 0x100]
mov dword [eax], 0
push 0
push 1
push 0x4250dc
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x54]
sub ecx, edi
add esp, 0x10
add ebp, edx
cmp cx, 4
mov dword [esp + 0x2c], ecx
jae 0x40dbbe
push 0
push 1
push 0x4250d8
push 0x429240
call dword [int.00439d6c]
mov esi, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [0x439b88]
shr eax, 0xc
and eax, 0xc
test al, 8
je 0x40e86c
cmp esi, 3
je 0x40e80f
cmp esi, 6
je 0x40e80f
cmp esi, 0xb
je 0x40e80f
test esi, esi
jne 0x40e86c
test al, 4
jne 0x40e86c
push esi
push str.GMT_modification_access_times_only
push 8
push str.old_Info_ZIP_Unix_OS2_NT
push 0x5855
push 0x4253d4
push str._n__There__s_a_local_extra_field_with_ID_0x_04x___s__and_n___u_data_bytes___s_._n
push 0x429b04
call fcn.00412920
add esp, 0x1c
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
jmp 0x40e86c
cmp di, 0x14
jne 0x40e1bf
mov cl, byte [ebp + 0x12]
push ebp
shr ecx, 5
and ecx, 3
mov esi, ecx
call fcn.00407d20
and eax, 0xffff
xor edx, edx
mov dl, ah
add esp, 4
mov dh, al
test esi, esi
mov eax, edx
jne 0x40e2d0
cmp eax, 0x65
jne 0x40e2c6
mov esi, 4
jmp 0x40e2d0
cmp eax, 0x64
jne 0x40e2d0
mov esi, 5
push 0
push eax
mov eax, dword [esi*4 + 0x42529c]
push eax
push str.._n____The_file_was_originally_a_Tandem__s_file__with_file_code__u
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
jmp 0x40e1bf
cmp di, 4
jb 0x40e1bf
cmp bx, 9
mov esi, str.._n____The_local_extra_field_has__lu_bytes_of_OS_2_extended_attributes._n_____May_not_match_OS_2__dir__amount_due_to_storage_method_
je 0x40e320
mov esi, str.._n____The_local_extra_field_has__lu_bytes_of_access_control_list_information
push 0
push ebp
call fcn.00407d30
push eax
push esi
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [esp + 0x110]
add esp, 0x10
mov dword [ecx], 0
jmp 0x40e1bf
cmp esi, 0x5455
jg 0x40e66f
je 0x40e53b
sub esi, 0x4d49
je 0x40e423
sub esi, 0x1a
je 0x40e3c4
sub esi, 0x5f3
jne 0x40e693
cmp di, 5
jb 0x40e1bf
xor ecx, ecx
mov esi, 0xa
mov cl, byte [ebp + 4]
push 0
mov eax, ecx
cdq
idiv esi
mov eax, 0x66666667
push edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push str.._n____The_AOS_VS_extra_field_revision_is__d._d
jmp 0x40e2e0
cmp di, 0x40
jne 0x40e1bf
push ebp
call fcn.00407d30
add esp, 4
cmp eax, 0x70695a64
jne 0x40e1bf
lea ecx, [ebp + 4]
push ecx
call fcn.0040f280
lea esi, [ebp + 0x21]
mov ecx, 7
lea edi, [esp + 0xbc]
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edx, edx
lea eax, [esp + 0xb8]
mov dl, byte [ebp + 0x20]
push 0
movsb byte es:[edi], byte [esi]
push eax
mov byte [esp + edx + 0xc0], 0
push str.._n____The_Mac_long_filename_is__s
jmp 0x40e156
cmp di, 8
jb 0x40e1bf
lea ecx, [ebp + 4]
push ecx
call fcn.00407d20
mov di, ax
add esp, 4
and edi, 7
mov byte [esp + 0x34], 0
cmp edi, 3
jbe 0x40e44e
mov edi, 3
push ebp
call fcn.00407d30
add esp, 4
cmp eax, 0x54414456
ja 0x40e4a4
je 0x40e49d
cmp eax, 0x4c4c4156
ja 0x40e48f
je 0x40e488
cmp eax, 0x42414656
je 0x40e481
cmp eax, 0x43484656
jne 0x40e4b9
mov esi, 0x4253cc
jmp 0x40e502
mov esi, 0x4253c8
jmp 0x40e502
mov esi, 0x4253c0
jmp 0x40e502
cmp eax, 0x4f525056
jne 0x40e4b9
mov esi, 0x4253b8
jmp 0x40e502
mov esi, 0x4253b0
jmp 0x40e502
cmp eax, 0x54445256
je 0x40e4fd
cmp eax, 0x56534d56
je 0x40e4c7
cmp eax, 0x59454b56
je 0x40e4c0
mov esi, 0x4253a8
jmp 0x40e502
mov esi, 0x4253a0
jmp 0x40e502
cmp word [esp + 0x10], 0x10
mov esi, 0x425398
jb 0x40e502
lea edx, [ebp + 0xc]
push 4
lea eax, [esp + 0x3a]
push edx
push eax
mov byte [esp + 0x47], 0
mov byte [esp + 0x40], 0x20
mov byte [esp + 0x41], 0x28
call fcn.004140c0
add esp, 0xc
mov byte [esp + 0x3a], 0x29
jmp 0x40e502
mov esi, 0x425390
lea ecx, [esp + 0x34]
push 0
push ecx
lea edx, [ebp + 6]
push esi
push edx
call fcn.00407d20
add esp, 4
and eax, 0xffff
push eax
mov eax, dword [edi*4 + 0x42528c]
push eax
push str..__The_extra_n____field_is__s_and_has__u_bytes_of_VMS__s_information_s
push 0x429b04
call fcn.00412920
add esp, 0x18
jmp 0x40e163
cmp di, 1
jb 0x40e1bf
mov bl, byte [ebp]
xor edx, edx
test bl, 1
mov byte [esp + 0x68], dl
je 0x40e582
mov edi, str.modification
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x68]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10]
test bl, 2
je 0x40e663
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
test edx, edx
je 0x40e5a3
mov byte [esp + ecx + 0x68], 0x2f
inc ecx
lea ebx, [esp + ecx + 0x68]
mov edi, str.access
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x100]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx]
and ecx, 3
inc edx
test eax, eax
rep movsb byte es:[edi], byte [esi]
jbe 0x40e5dc
add eax, 4
mov dword [ebx], eax
mov edi, dword [esp + 0x10]
test byte [ebp], 4
je 0x40e63a
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
test edx, edx
je 0x40e5fe
mov byte [esp + ecx + 0x68], 0x2f
inc ecx
lea esi, [esp + ecx + 0x68]
mov edi, str.creation
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x48], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x48]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx]
and ecx, 3
inc edx
test eax, eax
rep movsb byte es:[edi], byte [esi]
jbe 0x40e636
add eax, 4
mov dword [ebx], eax
mov edi, dword [esp + 0x10]
test edx, edx
jle 0x40e1bf
cmp edx, 1
mov eax, 0x420cd8
je 0x40e651
mov eax, 0x420cdc
push 0
lea ecx, [esp + 0x6c]
push eax
push ecx
push str.._n____The_local_extra_field_has_UTC_GMT__s_time_s
jmp 0x40e2e0
mov ebx, dword [esp + 0x100]
jmp 0x40e5e0
cmp esi, 0x6542
je 0x40e780
cmp esi, 0x7441
je 0x40e780
cmp esi, 0xfb4a
je 0x40e745
test di, di
jbe 0x40e1bf
cmp di, 0x18
push 0
ja 0x40e6ce
push str.:_n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov eax, edi
jmp 0x40e6f9
push str..__The_first_n____20_are:
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov eax, 0x14
test ax, ax
jbe 0x40e1bf
and eax, 0xffff
mov esi, ebp
mov edi, eax
xor edx, edx
push 0
mov dl, byte [esi]
push edx
push str.__02x
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
inc esi
dec edi
jne 0x40e70b
mov edi, dword [esp + 0x10]
jmp 0x40e1bf
cmp di, 4
jb 0x40e1bf
xor eax, eax
push 0
mov al, byte [ebp + 3]
xor ecx, ecx
mov cl, byte [ebp + 2]
push eax
xor edx, edx
xor eax, eax
mov dl, byte [ebp + 1]
mov al, byte [ebp]
push ecx
push edx
push eax
push str.._n____The_QDOS_extra_field_subtype_is___c_c_c_c
push 0x429b04
call fcn.00412920
add esp, 0x18
jmp 0x40e2ed
cmp di, 5
jb 0x40e1bf
push ebp
call fcn.00407d30
mov cl, byte [ebp + 4]
add esp, 4
and ecx, 1
cmp bx, 0x7441
mov esi, ecx
mov edx, str.._n____The_local_extra_field_has__lu_bytes_of__scompressed_AtheOS_file_attributes
je 0x40e7ac
mov edx, str.._n____The_local_extra_field_has__lu_bytes_of__scompressed_BeOS_file_attributes
test esi, esi
mov ecx, 0x4253e4
jne 0x40e7ba
mov ecx, 0x420cd8
push 0
push ecx
push eax
push edx
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
test esi, esi
je 0x40e1b2
mov edx, dword [esp + 0x100]
cmp dword [edx], 0
jbe 0x40e1bf
push ebp
call fcn.00407d30
mov ecx, dword [esp + 0x104]
add esp, 4
add dword [ecx], eax
jmp 0x40e1bf
test al, 4
mov ecx, str.GMT_modification_access_times_and_Unix_UID_GID
jne 0x40e81d
mov ecx, str.GMT_modification_access_times_only
mov esi, eax
push 0
and esi, 0xc
push ecx
push esi
push str.old_Info_ZIP_Unix_OS2_NT
push 0x5855
push 0x425378
push str._n__There__s_a_local_extra_field_with_ID_0x_04x___s__and_n___u_data_bytes___s_._n
push 0x429b04
call fcn.00412920
add esp, 0x1c
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [esp + 0x110]
add esp, 0x10
mov eax, dword [ecx]
test eax, eax
jbe 0x40e86c
add eax, esi
mov dword [ecx], eax
cmp word [0x439b80], 0
push 0
jne 0x40e87f
push str._n__There_is_no_file_comment._n
jmp 0x40e8cd
push str._n__________________________file_comment_begins______________________________n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [0x439b80]
push 5
and ecx, 0xffff
push ecx
call fcn.00407860
add esp, 0x18
test eax, eax
je 0x40e8c6
cmp eax, 1
mov dword [esp + 0x40], eax
jg 0x40e8f2
push 0
push str.___________________________file_comment_ends_______________________________n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [esp + 0x50]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret