Function at 0x406f50
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push edi
mov edi, 1
push esi
push ebx
sub esp, 0x2c
mov esi, dword [0x40c038]
add esi, dword [0x40c00c]
mov dword [0x41457c], 0
mov dword [0x414564], 0
mov ebp, 5
sub dword [0x4120d8], 1
js 0x407220
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
cmp ebx, 0x18
je 0x407170
jle 0x407070
cmp ebx, 0x2a
je 0x406fc0
cmp ebx, 0xaa
jne 0x407020
nop
lea esi, [esi]
sub dword [0x4120d8], 1
js 0x407234
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
mov ebx, eax
and ebx, 0x7f
lea ecx, [ebx - 0xa]
cmp ecx, 0xe
ja 0x406fff
mov edx, edi
shl edx, cl
test edx, 0x4009
jne 0x40700d
and edx, 0x280
jne 0x406fc0
mov edx, dword [0x4144d8]
test edx, edx
je 0x40700d
test al, 0x60
je 0x406fc0
cmp ebx, 0x18
je 0x40713e
jle 0x407070
cmp ebx, 0x2a
je 0x406fc0
lea esi, [esi]
sub esi, 1
je 0x407e9d
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x406f7c
mov ebp, ebx
and ebp, 0x7f
and ebx, 0x60
je 0x407100
mov ecx, dword [0x412064]
test ecx, ecx
je 0x406f7c
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.cygwin1.dll_putc
jmp 0x406f7c
lea eax, [ebx + 3]
cmp eax, 1
ja 0x407020
xor ebp, ebp
cmp ebx, 6
mov esi, 9
je 0x40726e
jle 0x407262
cmp ebx, 0x10
mov esi, 0x13
je 0x40726e
cmp ebx, 0x118
lea esi, [ebx + 3]
jne 0x4070cd
mov esi, 0x13
mov eax, 0x13
mov ebx, 0x10
mov eax, dword [eax*4 + 0x40f3c0]
mov dword [esp], str.Got__s
mov dword [esp + 4], eax
call fcn.00404390
cmp esi, 0x19
ja 0x4071d0
cmp dword [0x412064], 2
jg 0x4073e5
mov eax, dword [esp + 0x48]
test eax, eax
je 0x407210
mov eax, dword [esp + 0x48]
mov dword [eax], ebp
mov eax, ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x44], 1
jg 0x407043
jmp 0x406f7c
mov edx, edi
shl edx, cl
test edx, 0x4009
jne 0x407290
and edx, 0x280
jne 0x40713e
mov ebp, dword [0x4144d8]
test ebp, ebp
je 0x407290
test al, 0x60
jne 0x407290
sub dword [0x4120d8], 1
js 0x407275
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
mov ebx, eax
and ebx, 0x7f
lea ecx, [ebx - 0xa]
cmp ecx, 0xe
ja 0x407128
jmp 0x407110
lea edx, [ebp - 1]
test edx, edx
jle 0x4078f0
sub dword [0x4120d8], 1
js 0x407411
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx ebx, byte [eax]
cmp ebx, 0xfffffffe
je 0x40725b
jle 0x4073d1
cmp ebx, 0x18
je 0x407250
cmp ebx, 0x6b
jne 0x407020
mov esi, 2
mov eax, 2
mov ebx, 0xffffffff
xor ebp, ebp
jmp 0x4070b6
cmp dword [0x412064], 2
jle 0x4070e3
call sub.cygwin1.dll___getreent
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], str.zgethdr:__d__lx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4070ef
lea esi, [esi]
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
mov ebx, eax
jmp 0x406f9f
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x406fde
mov ebx, eax
jmp 0x40700d
lea edx, [ebp - 2]
test edx, edx
jle 0x4078f0
mov ebp, edx
jmp 0x406f81
lea esi, [ebx + 3]
cmp esi, 2
ja 0x4070cd
mov eax, esi
jmp 0x4070b6
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40715c
mov ebx, eax
lea esi, [esi]
cmp ebx, 0x18
je 0x407de0
jle 0x407070
cmp ebx, 0x42
je 0x407910
cmp ebx, 0x43
je 0x407480
cmp ebx, 0x41
jne 0x407020
sub dword [0x4120d8], 1
mov dword [0x414564], 0x41
mov dword [0x414578], 0
js 0x40856b
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
test bl, 0x60
mov eax, ebx
je 0x407610
test ebx, 0xffffff00
mov esi, ebx
jne 0x4073a2
mov eax, dword [esp + 0x40]
xor si, word [0x40c440]
mov dword [0x41457c], ebx
lea ecx, [eax + 4]
mov ebp, eax
mov edi, ecx
sub dword [0x4120d8], 1
js 0x408180
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
mov ebx, eax
je 0x407430
test ebx, 0xffffff00
jne 0x4073a2
mov edx, ebx
mov eax, ebx
mov ecx, esi
shl esi, 8
add ebp, 1
movzx ecx, ch
xor si, word [ecx + ecx + 0x40c440]
mov byte [ebp - 1], al
xor edx, esi
cmp ebp, edi
mov esi, edx
jne 0x40731d
sub dword [0x4120d8], 1
js 0x408819
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx ebx, byte [eax]
test bl, 0x60
je 0x408269
test ebx, 0xffffff00
je 0x40859b
mov eax, dword [esp + 0x40]
movzx ebp, byte [eax + 3]
movzx eax, byte [eax + 2]
shl ebp, 8
add ebp, eax
mov eax, dword [esp + 0x40]
shl ebp, 8
movzx eax, byte [eax + 1]
add ebp, eax
mov eax, dword [esp + 0x40]
shl ebp, 8
movzx eax, byte [eax]
add ebp, eax
jmp 0x40707a
cmp ebx, 0xfffffffd
jne 0x407020
xor esi, esi
xor eax, eax
xor ebp, ebp
jmp 0x4070b6
mov esi, dword [ebx*4 + 0x40f3cc]
call sub.cygwin1.dll___getreent
mov dword [esp + 0xc], ebp
mov dword [esp + 4], str.zgethdr:__s__lx
mov dword [esp + 8], esi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x4070e3
mov dword [esp], 1
mov dword [esp + 0x1c], edx
call fcn.00404510
mov edx, dword [esp + 0x1c]
mov ebx, eax
jmp 0x407199
cmp eax, 0x18
je 0x407730
jg 0x407e35
cmp eax, 0x11
je 0x407457
cmp eax, 0x13
je 0x407457
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x407479
test al, 0x60
jne 0x407479
sub dword [0x4120d8], 1
js 0x408362
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x407430
mov ebx, eax
jmp 0x407345
sub dword [0x4120d8], 1
mov dword [0x414564], 0x43
mov dword [0x414578], 0x43
js 0x408557
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
mov esi, ebx
and esi, 0x60
je 0x407f3b
test ebx, 0xffffff00
jne 0x4073a2
mov eax, ebx
not eax
movzx esi, al
mov eax, dword [esp + 0x40]
mov esi, dword [esi*4 + 0x40c040]
mov dword [0x41457c], ebx
lea edx, [eax + 4]
xor esi, 0xffffff
mov ebp, eax
mov edi, edx
sub dword [0x4120d8], 1
js 0x408192
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
mov ebx, eax
je 0x4075c0
test ebx, 0xffffff00
jne 0x4073a2
mov edx, ebx
mov eax, ebx
xor eax, esi
add ebp, 1
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x40c040]
mov byte [ebp - 1], dl
cmp ebp, edi
jne 0x4074ee
mov ebp, 4
sub dword [0x4120d8], 1
js 0x40823b
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
mov ebx, eax
je 0x407660
test ebx, 0xffffff00
jne 0x4073a2
mov eax, ebx
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x40c040]
sub ebp, 1
jne 0x407544
cmp esi, 0xdebb20e3
jne 0x4085fb
mov dword [0x412498], 2
mov dword [0x4144d0], 1
mov ebx, dword [0x41457c]
jmp 0x4073a2
cmp eax, 0x18
je 0x4076c0
jg 0x407e50
cmp eax, 0x11
je 0x4075e7
cmp eax, 0x13
je 0x4075e7
mov edx, dword [0x4144d8]
test edx, edx
je 0x407609
test al, 0x60
jne 0x407609
sub dword [0x4120d8], 1
js 0x408350
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x4075c0
mov ebx, eax
jmp 0x407516
cmp eax, 0x18
je 0x40787d
jg 0x40805b
cmp eax, 0x11
je 0x407637
cmp eax, 0x13
je 0x407637
mov esi, dword [0x4144d8]
test esi, esi
je 0x407659
test al, 0x60
jne 0x407659
sub dword [0x4120d8], 1
js 0x408687
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x407610
mov ebx, eax
jmp 0x4072f7
cmp eax, 0x18
je 0x4077f0
jg 0x407e82
cmp eax, 0x11
je 0x407687
cmp eax, 0x13
je 0x407687
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x4076a9
test al, 0x60
jne 0x4076a9
sub dword [0x4120d8], 1
js 0x4083fb
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x407660
mov ebx, eax
jmp 0x40756c
cmp eax, 0x11
jne 0x407ed8
lea esi, [esi]
sub dword [0x4120d8], 1
js 0x4084ca
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x40810f
cmp eax, 0x6b
jg 0x407eb3
cmp eax, 0x68
jge 0x4083cb
cmp eax, 0x13
je 0x4076c0
cmp eax, 0x18
jne 0x4076b0
mov ebx, 0x118
jmp 0x4073a2
cmp eax, 0x6d
je 0x40839e
jl 0x40838f
cmp eax, 0x91
je 0x407730
cmp eax, 0x93
jne 0x407774
lea esi, [esi]
sub dword [0x4120d8], 1
js 0x4084ae
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x40809e
cmp eax, 0x6b
jg 0x40770d
cmp eax, 0x68
jge 0x408076
cmp eax, 0x13
je 0x407730
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x407730
mov edx, dword [0x4144d8]
test edx, edx
je 0x407782
test al, 0x60
je 0x407730
mov edx, eax
and edx, 0x60
cmp edx, 0x40
je 0x408beb
or ebx, 0xffffffff
cmp dword [0x412064], 1
mov dword [esp + 0x1c], eax
jle 0x4073a2
call sub.cygwin1.dll___getreent
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], str.Bad_escape_sequence__x
mov dword [esp + 8], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x4073a2
cmp eax, 0x6d
je 0x408417
jl 0x40840d
cmp eax, 0x91
je 0x4077f0
cmp eax, 0x93
jne 0x407838
lea esi, [esi]
sub dword [0x4120d8], 1
js 0x40857f
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x4081a4
cmp eax, 0x6b
jg 0x4077d0
cmp eax, 0x68
jge 0x408076
cmp eax, 0x13
je 0x4077f0
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x4077f0
mov edx, dword [0x4144d8]
test edx, edx
je 0x407846
test al, 0x60
je 0x4077f0
mov edx, eax
and edx, 0x60
cmp edx, 0x40
jne 0x407790
xor eax, 0x40
mov ebx, eax
jmp 0x40756c
cmp eax, 0x6d
je 0x4086ba
jl 0x4086ab
cmp eax, 0x91
je 0x40787d
cmp eax, 0x93
jne 0x4078c5
sub dword [0x4120d8], 1
js 0x4087fd
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x4084e6
cmp eax, 0x6b
jg 0x407860
cmp eax, 0x68
jge 0x408231
cmp eax, 0x13
je 0x40787d
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x40787d
mov ebx, dword [0x4144d8]
test ebx, ebx
je 0x4078d3
test al, 0x60
je 0x40787d
mov ebx, eax
and eax, 0x60
cmp eax, 0x40
jne 0x40800a
xor ebx, 0x40
jmp 0x4072f7
mov esi, 0x13
mov eax, 0x13
mov ebx, 0x10
xor ebp, ebp
jmp 0x4070b6
mov dword [0x414564], 0x42
mov dword [0x414578], 0
mov esi, 1
sub dword [0x4120d8], 1
js 0x408082
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x407968
mov edx, esi
shl edx, cl
test edx, 0x4009
jne 0x407977
and edx, 0x280
jne 0x407929
mov ebp, dword [0x4144d8]
test ebp, ebp
je 0x407977
and ebx, 0x60
je 0x407929
lea esi, [eax - 0x30]
sub eax, 0x57
mov ebp, 1
cmp esi, 0xa
cmovge esi, eax
test esi, 0xfffffff0
jne 0x407f31
sub dword [0x4120d8], 1
js 0x408215
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x4079d3
mov edx, ebp
shl edx, cl
test edx, 0x4009
jne 0x4079e2
and edx, 0x280
jne 0x407994
mov edi, dword [0x4144d8]
test edi, edi
je 0x4079e2
and ebx, 0x60
je 0x407994
lea ebx, [eax - 0x30]
sub eax, 0x57
cmp ebx, 0xa
cmovge ebx, eax
test ebx, 0xfffffff0
jne 0x407f31
shl esi, 4
add ebx, esi
cmp dword [0x412064], 8
jle 0x407a24
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.zgethex:__02X
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [esp + 0x40]
mov dword [0x41457c], ebx
mov edx, dword [esp + 0x40]
xor bx, word [0x40c440]
add eax, 4
mov dword [esp + 0x1c], eax
mov edi, edx
sub dword [0x4120d8], 1
js 0x407df0
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
mov edx, eax
and edx, 0x7f
lea ecx, [edx - 0xa]
cmp ecx, 0xe
ja 0x407a86
mov esi, 1
shl esi, cl
test esi, 0x4009
mov ecx, esi
jne 0x407a94
and ecx, 0x280
jne 0x407a42
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x407a94
test al, 0x60
je 0x407a42
lea esi, [edx - 0x30]
sub edx, 0x57
cmp esi, 0xa
cmovge esi, edx
test esi, 0xfffffff0
jne 0x407f31
sub dword [0x4120d8], 1
js 0x407e6b
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
mov edx, eax
and edx, 0x7f
lea ecx, [edx - 0xa]
cmp ecx, 0xe
ja 0x407af0
mov ebp, 1
shl ebp, cl
test ebp, 0x4009
mov ecx, ebp
jne 0x407afe
and ecx, 0x280
jne 0x407aac
mov ebp, dword [0x4144d8]
test ebp, ebp
je 0x407afe
test al, 0x60
je 0x407aac
lea eax, [edx - 0x30]
sub edx, 0x57
cmp eax, 0xa
cmovge eax, edx
test eax, 0xfffffff0
jne 0x407f31
shl esi, 4
add esi, eax
cmp dword [0x412064], 8
jle 0x407b3f
call sub.cygwin1.dll___getreent
mov dword [esp + 8], esi
mov dword [esp + 4], str.zgethex:__02X
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
movzx eax, bh
shl ebx, 8
add edi, 1
mov ebp, ebx
xor bp, word [eax + eax + 0x40c440]
mov eax, esi
mov byte [edi - 1], al
xor ebp, esi
cmp edi, dword [esp + 0x1c]
mov ebx, ebp
jne 0x407a42
mov esi, 1
sub dword [0x4120d8], 1
js 0x40824d
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x407ba9
mov edx, esi
shl edx, cl
test edx, 0x4009
jne 0x407bb8
and edx, 0x280
jne 0x407b6a
mov edi, dword [0x4144d8]
test edi, edi
je 0x407bb8
and ebx, 0x60
je 0x407b6a
lea esi, [eax - 0x30]
sub eax, 0x57
mov edx, 1
cmp esi, 0xa
cmovge esi, eax
test esi, 0xfffffff0
jne 0x407f31
sub dword [0x4120d8], 1
js 0x4083d7
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x407c16
mov edi, edx
shl edi, cl
test edi, 0x4009
mov ecx, edi
jne 0x407c25
and ecx, 0x280
jne 0x407bd5
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x407c25
and ebx, 0x60
je 0x407bd5
lea ebx, [eax - 0x30]
sub eax, 0x57
cmp ebx, 0xa
cmovge ebx, eax
test ebx, 0xfffffff0
jne 0x407f31
shl esi, 4
add ebx, esi
cmp dword [0x412064], 8
jle 0x407c67
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.zgethex:__02X
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, ebp
mov esi, ebp
mov ebp, 1
movzx eax, ah
shl esi, 8
xor si, word [eax + eax + 0x40c440]
xor esi, ebx
sub dword [0x4120d8], 1
js 0x408492
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x407cbf
mov edx, ebp
shl edx, cl
test edx, 0x4009
jne 0x407cce
and edx, 0x280
jne 0x407c80
mov edi, dword [0x4144d8]
test edi, edi
je 0x407cce
and ebx, 0x60
je 0x407c80
lea ebp, [eax - 0x30]
sub eax, 0x57
mov edx, 1
cmp ebp, 0xa
cmovge ebp, eax
test ebp, 0xfffffff0
jne 0x407f31
sub dword [0x4120d8], 1
js 0x408663
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx ebx, byte [eax]
mov eax, ebx
and eax, 0x7f
lea ecx, [eax - 0xa]
cmp ecx, 0xe
ja 0x407d2c
mov edi, edx
shl edi, cl
test edi, 0x4009
mov ecx, edi
jne 0x407d3b
and ecx, 0x280
jne 0x407ceb
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x407d3b
and ebx, 0x60
je 0x407ceb
lea ebx, [eax - 0x30]
sub eax, 0x57
cmp ebx, 0xa
cmovge ebx, eax
test ebx, 0xfffffff0
jne 0x407f31
shl ebp, 4
add ebx, ebp
cmp dword [0x412064], 8
jle 0x407d7d
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.zgethex:__02X
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, esi
shl esi, 8
movzx eax, ah
xor si, word [eax + eax + 0x40c440]
cmp si, bx
jne 0x4085fb
sub dword [0x4120d8], 1
js 0x408889
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0xd
je 0x407dc4
cmp eax, 0x8d
jne 0x40759a
sub dword [0x4120d8], 1
js 0x408aa3
add dword [0x4144dc], 1
jmp 0x40759a
mov edx, 4
mov ebp, 5
jmp 0x40717b
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407a60
mov ebx, eax
cmp dword [0x412064], 8
jle 0x4073a2
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.zgethex:__02X
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x4073a2
cmp eax, 0x91
je 0x407457
cmp eax, 0x93
jne 0x407449
jmp 0x407457
cmp eax, 0x91
je 0x4075e7
cmp eax, 0x93
jne 0x4075d9
jmp 0x4075e7
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407aca
jmp 0x407e05
cmp eax, 0x91
je 0x407687
cmp eax, 0x93
jne 0x407679
jmp 0x407687
mov dword [esp], str.Garbage_count_exceeded
call fcn.00404390
mov eax, 0xffffffff
jmp 0x4070f7
cmp eax, 0x6d
je 0x4083bc
jl 0x4083ad
cmp eax, 0x91
je 0x4076c0
cmp eax, 0x93
je 0x4076c0
mov ebx, dword [0x4144d8]
test ebx, ebx
je 0x407eea
test al, 0x60
je 0x4076c0
mov edx, eax
and edx, 0x60
cmp edx, 0x40
je 0x408bd1
or ebx, 0xffffffff
cmp dword [0x412064], 1
mov dword [esp + 0x1c], eax
jle 0x4073a2
call sub.cygwin1.dll___getreent
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], str.Bad_escape_sequence__x
mov dword [esp + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x4073a2
mov ebx, 0xffffffff
jmp 0x407e07
mov eax, ebx
cmp eax, 0x18
je 0x407fa6
jg 0x408040
cmp eax, 0x11
je 0x407f60
cmp eax, 0x13
je 0x407f60
mov ebx, dword [0x4144d8]
test ebx, ebx
je 0x407f82
test al, 0x60
jne 0x407f82
sub dword [0x4120d8], 1
js 0x408699
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x407f3d
mov ebx, eax
jmp 0x4074bd
cmp eax, 0x6d
je 0x4086d8
jl 0x4086c9
cmp eax, 0x91
je 0x407fa6
cmp eax, 0x93
jne 0x407fee
sub dword [0x4120d8], 1
js 0x4087e1
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x408421
cmp eax, 0x6b
jg 0x407f89
cmp eax, 0x68
jge 0x408231
cmp eax, 0x13
je 0x407fa6
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x407fa6
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x407ffc
test al, 0x60
je 0x407fa6
mov ebx, eax
and eax, 0x60
cmp eax, 0x40
je 0x408be3
cmp dword [0x412064], 1
jle 0x408bdb
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Bad_escape_sequence__x
or ebx, 0xffffffff
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x4073a2
cmp eax, 0x91
je 0x407f60
cmp eax, 0x93
jne 0x407f52
jmp 0x407f60
cmp eax, 0x91
je 0x407637
cmp eax, 0x93
jne 0x407629
jmp 0x407637
mov edx, eax
or dh, 1
mov ebx, edx
jmp 0x4073a2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
jns 0x407947
jmp 0x407e07
sub dword [0x4120d8], 1
js 0x408994
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407757
sub dword [0x4120d8], 1
js 0x408978
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407757
sub dword [0x4120d8], 1
js 0x40895c
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x407757
sub dword [0x4120d8], 1
js 0x4088ec
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4076e7
sub dword [0x4120d8], 1
js 0x4088d0
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4076e7
sub dword [0x4120d8], 1
js 0x408940
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x4076e7
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x40733b
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x40750c
sub dword [0x4120d8], 1
js 0x408924
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407817
sub dword [0x4120d8], 1
js 0x408908
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407817
sub dword [0x4120d8], 1
js 0x4088b4
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x407817
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
jns 0x4079b2
jmp 0x407e07
mov ebx, eax
or bh, 1
jmp 0x4073a2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x407562
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
jns 0x407b88
jmp 0x407e07
mov eax, ebx
mov ebx, edx
cmp eax, 0x18
je 0x4082d8
jg 0x408374
cmp eax, 0x11
je 0x408290
cmp eax, 0x13
je 0x408290
mov esi, dword [0x4144d8]
test esi, esi
je 0x4082b2
test al, 0x60
jne 0x4082b2
sub dword [0x4120d8], 1
js 0x408835
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx eax, byte [eax]
test al, 0x60
je 0x40826d
mov edx, ebx
mov ebx, eax
jmp 0x407396
cmp eax, 0x6d
je 0x40887d
jl 0x408871
cmp eax, 0x91
je 0x4082d8
cmp eax, 0x93
jne 0x408320
sub dword [0x4120d8], 1
js 0x40889a
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x408770
cmp eax, 0x6b
jg 0x4082bb
cmp eax, 0x68
jge 0x408231
cmp eax, 0x13
je 0x4082d8
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x4082d8
mov ecx, dword [0x4144d8]
test ecx, ecx
je 0x40832e
test al, 0x60
je 0x4082d8
mov edx, ebx
mov ebx, eax
and eax, 0x60
cmp eax, 0x40
jne 0x40800a
xor ebx, 0x40
jmp 0x407396
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x407605
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x407475
cmp eax, 0x91
je 0x408290
cmp eax, 0x93
jne 0x408282
jmp 0x408290
mov eax, 0x7f
mov edx, 0x7f
jmp 0x407351
mov eax, 0xffffffff
mov edx, 0xff
jmp 0x407351
mov edx, 0x7f
mov eax, 0x7f
jmp 0x407526
mov edx, 0xffffffff
mov eax, 0xff
jmp 0x407526
mov ecx, eax
or ch, 1
mov ebx, ecx
jmp 0x4073a2
mov eax, dword [0x40c640]
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
mov edx, dword [esp + 0x1c]
jns 0x407bf3
jmp 0x407e07
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x4076a5
mov eax, 0x7f
jmp 0x40757a
mov eax, 0xff
jmp 0x40757a
sub dword [0x4120d8], 1
js 0x408a6b
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407fcd
sub dword [0x4120d8], 1
js 0x408a4f
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x407fcd
sub dword [0x4120d8], 1
js 0x408a87
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x407fcd
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
jns 0x407c9e
jmp 0x407e07
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40774e
mov ebx, eax
jmp 0x407345
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4076de
mov ebx, eax
jmp 0x407516
sub dword [0x4120d8], 1
js 0x408aec
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4078a4
sub dword [0x4120d8], 1
js 0x408ad0
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4078a4
sub dword [0x4120d8], 1
js 0x408ab4
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x4078a4
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
mov ebx, eax
jmp 0x4074b2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
mov ebx, eax
jmp 0x4072ec
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40780e
mov ebx, eax
jmp 0x40756c
mov ebp, ebx
sub dword [0x4120d8], 1
movzx eax, dh
movzx esi, word [eax + eax + 0x40c440]
js 0x408a21
mov eax, dword [0x4144dc]
lea ecx, [eax + 1]
mov dword [0x4144dc], ecx
movzx ebx, byte [eax]
test bl, 0x60
mov eax, ebx
mov edi, edx
je 0x408611
test ebx, 0xffffff00
jne 0x4073a2
mov eax, edx
shl eax, 8
xor eax, esi
xor eax, ebp
movzx edx, ah
shl eax, 8
xor ax, word [edx + edx + 0x40c440]
cmp ax, bx
je 0x40759a
mov dword [esp], str.Bad_CRC
mov ebx, 0xffffffff
call fcn.00404390
jmp 0x4073a2
cmp eax, 0x18
je 0x4086fd
jg 0x4086e2
cmp eax, 0x11
je 0x408638
cmp eax, 0x13
je 0x408638
mov edx, dword [0x4144d8]
test edx, edx
je 0x40865a
test al, 0x60
jne 0x40865a
sub dword [0x4120d8], 1
js 0x408a3d
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
test al, 0x60
je 0x408611
mov ebx, eax
mov edx, edi
jmp 0x4085cf
mov eax, dword [0x40c640]
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call fcn.00404510
test eax, eax
mov ebx, eax
mov edx, dword [esp + 0x1c]
jns 0x407d09
jmp 0x407e07
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x407655
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x407f7e
mov esi, 0x7f
mov ebx, 0x7f
jmp 0x407305
mov esi, 0xff
mov ebx, 0xff
jmp 0x407305
mov esi, pe_nt_image_headers32
mov ebx, 0x7f
jmp 0x4074d0
mov ebx, 0xff
jmp 0x4074d0
cmp eax, 0x91
je 0x408638
cmp eax, 0x93
jne 0x40862a
jmp 0x408638
mov ebx, edi
sub dword [0x4120d8], 1
js 0x408b20
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
je 0x4089b0
cmp eax, 0x6b
jg 0x408847
cmp eax, 0x68
jge 0x408231
cmp eax, 0x13
je 0x4086ff
cmp eax, 0x18
je 0x407703
cmp eax, 0x11
je 0x4086ff
cmp dword [0x4144d8], 0
je 0x408758
test al, 0x60
je 0x4086ff
mov edx, ebx
mov ebx, eax
and eax, 0x60
cmp eax, 0x40
jne 0x40800a
xor ebx, 0x40
jmp 0x4085cf
sub dword [0x4120d8], 1
js 0x408bb7
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4082ff
sub dword [0x4120d8], 1
js 0x408b9d
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x4082ff
sub dword [0x4120d8], 1
js 0x408b83
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x4082ff
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407fc4
mov ebx, eax
jmp 0x4074bd
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40789b
mov ebx, eax
jmp 0x4072f7
mov eax, dword [0x40c640]
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call fcn.00404510
mov edx, dword [esp + 0x1c]
mov ebx, eax
jmp 0x40738d
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x4082ae
cmp eax, 0x6d
je 0x408b14
jl 0x408b08
cmp eax, 0x91
je 0x4086ff
cmp eax, 0x93
jne 0x40874b
jmp 0x4086ff
mov edx, ebx
mov ebp, 0x7f
jmp 0x40859d
mov edx, ebx
mov ebp, 0xff
jmp 0x40859d
mov dword [esp], 1
call fcn.00404510
jmp 0x407db4
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4082f6
jmp 0x4082b2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407817
mov ebx, eax
jmp 0x40756c
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x408154
mov ebx, eax
jmp 0x407516
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40812d
mov ebx, eax
jmp 0x407516
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4081e9
mov ebx, eax
jmp 0x40756c
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4081c2
mov ebx, eax
jmp 0x40756c
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4076e7
mov ebx, eax
jmp 0x407516
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407757
mov ebx, eax
jmp 0x407345
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4080e3
mov ebx, eax
jmp 0x407345
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4080bc
mov ebx, eax
jmp 0x407345
sub dword [0x4120d8], 1
js 0x408b6c
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x408726
sub dword [0x4120d8], 1
js 0x408b55
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
cmp eax, 0x18
jne 0x408726
sub dword [0x4120d8], 1
js 0x408b3e
mov eax, dword [0x4144dc]
lea edx, [eax + 1]
mov dword [0x4144dc], edx
movzx eax, byte [eax]
jmp 0x408726
mov eax, dword [0x40c640]
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call fcn.00404510
mov edx, dword [esp + 0x1c]
mov ebx, eax
jmp 0x4085c6
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
jmp 0x408656
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x408466
mov ebx, eax
jmp 0x4074bd
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40843f
mov ebx, eax
jmp 0x4074bd
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x407fcd
mov ebx, eax
jmp 0x4074bd
mov dword [esp], 1
call fcn.00404510
jmp 0x40759a
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4078a4
mov ebx, eax
jmp 0x4072f7
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40852b
mov ebx, eax
jmp 0x4072f7
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x408504
mov ebx, eax
jmp 0x4072f7
mov edx, ebx
mov ebx, 0x7f
jmp 0x4085db
mov edx, ebx
mov ebx, 0xff
jmp 0x4085db
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40871d
mov edx, ebx
mov ebx, eax
jmp 0x4085cf
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x408726
jmp 0x408b35
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4089f5
jmp 0x408b35
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4089ce
jmp 0x408b35
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4082ff
jmp 0x4082b2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x4087b5
jmp 0x4082b2
mov eax, dword [0x40c640]
mov dword [esp], eax
call fcn.00404510
test eax, eax
jns 0x40878e
jmp 0x4082b2
xor eax, 0x40
mov ebx, eax
jmp 0x407516
or ebx, 0xffffffff
jmp 0x4073a2
xor ebx, 0x40
jmp 0x4074bd
xor eax, 0x40
mov ebx, eax
jmp 0x407345