40ad28:	74 12                	je     0x40ad3c
40ad2a:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
40ad31:	74 09                	je     0x40ad3c
40ad33:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
40ad3a:	75 15                	jne    0x40ad51
40ad3c:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40ad40:	75 0f                	jne    0x40ad51
40ad42:	e8 e5 e6 ff ff       	call   0x40942c
40ad47:	33 c9                	xor    %ecx,%ecx
40ad49:	41                   	inc    %ecx
40ad4a:	89 48 20             	mov    %ecx,0x20(%eax)
40ad4d:	8b c1                	mov    %ecx,%eax
40ad4f:	5d                   	pop    %ebp
40ad50:	c3                   	ret
40ad51:	33 c0                	xor    %eax,%eax
40ad53:	5d                   	pop    %ebp
40ad54:	c3                   	ret
40ad55:	55                   	push   %ebp
40ad56:	8b ec                	mov    %esp,%ebp
40ad58:	6a ff                	push   $0xffffffff
40ad5a:	ff 75 10             	push   0x10(%ebp)
40ad5d:	ff 75 0c             	push   0xc(%ebp)
40ad60:	ff 75 08             	push   0x8(%ebp)
40ad63:	e8 05 00 00 00       	call   0x40ad6d
40ad68:	83 c4 10             	add    $0x10,%esp
40ad6b:	5d                   	pop    %ebp
40ad6c:	c3                   	ret
40ad6d:	6a 10                	push   $0x10
40ad6f:	68 08 3d 42 00       	push   $0x423d08
40ad74:	e8 57 dc ff ff       	call   0x4089d0
40ad79:	ff 75 10             	push   0x10(%ebp)
40ad7c:	ff 75 0c             	push   0xc(%ebp)
40ad7f:	ff 75 08             	push   0x8(%ebp)
40ad82:	e8 12 02 00 00       	call   0x40af99
40ad87:	83 c4 0c             	add    $0xc,%esp
40ad8a:	8b f0                	mov    %eax,%esi
40ad8c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40ad8f:	e8 98 e6 ff ff       	call   0x40942c
40ad94:	ff 40 18             	incl   0x18(%eax)
40ad97:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ad9b:	3b 75 14             	cmp    0x14(%ebp),%esi
40ad9e:	74 68                	je     0x40ae08
40ada0:	83 fe ff             	cmp    $0xffffffff,%esi
40ada3:	0f 8e a6 00 00 00    	jle    0x40ae4f
40ada9:	8b 7d 10             	mov    0x10(%ebp),%edi
40adac:	3b 77 04             	cmp    0x4(%edi),%esi
40adaf:	0f 8d 9a 00 00 00    	jge    0x40ae4f
40adb5:	8b 47 08             	mov    0x8(%edi),%eax
40adb8:	8b 0c f0             	mov    (%eax,%esi,8),%ecx
40adbb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40adbe:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40adc5:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
40adca:	74 30                	je     0x40adfc
40adcc:	51                   	push   %ecx
40adcd:	57                   	push   %edi
40adce:	ff 75 08             	push   0x8(%ebp)
40add1:	e8 e0 01 00 00       	call   0x40afb6
40add6:	83 c4 0c             	add    $0xc,%esp
40add9:	68 03 01 00 00       	push   $0x103
40adde:	ff 75 08             	push   0x8(%ebp)
40ade1:	8b 47 08             	mov    0x8(%edi),%eax
40ade4:	ff 74 f0 04          	push   0x4(%eax,%esi,8)
40ade8:	e8 43 01 00 00       	call   0x40af30
40aded:	eb 0d                	jmp    0x40adfc
40adef:	ff 75 ec             	push   -0x14(%ebp)
40adf2:	e8 aa e2 ff ff       	call   0x4090a1
40adf7:	59                   	pop    %ecx
40adf8:	c3                   	ret
40adf9:	8b 65 e8             	mov    -0x18(%ebp),%esp
40adfc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ae00:	8b 75 e0             	mov    -0x20(%ebp),%esi
40ae03:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40ae06:	eb 93                	jmp    0x40ad9b
40ae08:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ae0f:	e8 27 00 00 00       	call   0x40ae3b
40ae14:	3b 75 14             	cmp    0x14(%ebp),%esi
40ae17:	75 36                	jne    0x40ae4f
40ae19:	56                   	push   %esi
40ae1a:	ff 75 10             	push   0x10(%ebp)
40ae1d:	ff 75 08             	push   0x8(%ebp)
40ae20:	e8 91 01 00 00       	call   0x40afb6
40ae25:	83 c4 0c             	add    $0xc,%esp
40ae28:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ae2b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ae32:	59                   	pop    %ecx
40ae33:	5f                   	pop    %edi
40ae34:	5e                   	pop    %esi
40ae35:	5b                   	pop    %ebx
40ae36:	c9                   	leave
40ae37:	c3                   	ret
40ae38:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40ae3b:	e8 ec e5 ff ff       	call   0x40942c
40ae40:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
40ae44:	7e 08                	jle    0x40ae4e
40ae46:	e8 e1 e5 ff ff       	call   0x40942c
40ae4b:	ff 48 18             	decl   0x18(%eax)
40ae4e:	c3                   	ret
40ae4f:	e8 a7 14 00 00       	call   0x40c2fb
40ae54:	cc                   	int3
40ae55:	55                   	push   %ebp
40ae56:	8b ec                	mov    %esp,%ebp
40ae58:	83 ec 1c             	sub    $0x1c,%esp
40ae5b:	53                   	push   %ebx
40ae5c:	56                   	push   %esi
40ae5d:	8b 75 0c             	mov    0xc(%ebp),%esi
40ae60:	57                   	push   %edi
40ae61:	85 f6                	test   %esi,%esi
40ae63:	0f 84 80 00 00 00    	je     0x40aee9
40ae69:	8b 3e                	mov    (%esi),%edi
40ae6b:	33 db                	xor    %ebx,%ebx
40ae6d:	85 ff                	test   %edi,%edi
40ae6f:	7e 71                	jle    0x40aee2
40ae71:	8b 45 08             	mov    0x8(%ebp),%eax
40ae74:	8b d3                	mov    %ebx,%edx
40ae76:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ae79:	8b 40 1c             	mov    0x1c(%eax),%eax
40ae7c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ae7f:	8b 40 0c             	mov    0xc(%eax),%eax
40ae82:	8b 08                	mov    (%eax),%ecx
40ae84:	83 c0 04             	add    $0x4,%eax
40ae87:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ae8a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ae8d:	8b c8                	mov    %eax,%ecx
40ae8f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ae92:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40ae95:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ae98:	85 c0                	test   %eax,%eax
40ae9a:	7e 38                	jle    0x40aed4
40ae9c:	8b 46 04             	mov    0x4(%esi),%eax
40ae9f:	03 c2                	add    %edx,%eax
40aea1:	89 45 e8             	mov    %eax,-0x18(%ebp)
40aea4:	ff 75 ec             	push   -0x14(%ebp)
40aea7:	ff 31                	push   (%ecx)
40aea9:	50                   	push   %eax
40aeaa:	e8 e5 f9 ff ff       	call   0x40a894
40aeaf:	83 c4 0c             	add    $0xc,%esp
40aeb2:	85 c0                	test   %eax,%eax
40aeb4:	75 19                	jne    0x40aecf
40aeb6:	8b 45 f8             	mov    -0x8(%ebp),%eax
40aeb9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40aebc:	48                   	dec    %eax
40aebd:	83 c1 04             	add    $0x4,%ecx
40aec0:	89 45 f8             	mov    %eax,-0x8(%ebp)
40aec3:	85 c0                	test   %eax,%eax
40aec5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40aec8:	8b 45 e8             	mov    -0x18(%ebp),%eax
40aecb:	7f d7                	jg     0x40aea4
40aecd:	eb 02                	jmp    0x40aed1
40aecf:	b3 01                	mov    $0x1,%bl
40aed1:	8b 55 fc             	mov    -0x4(%ebp),%edx
40aed4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40aed7:	83 c2 10             	add    $0x10,%edx
40aeda:	89 55 fc             	mov    %edx,-0x4(%ebp)
40aedd:	83 ef 01             	sub    $0x1,%edi
40aee0:	75 ab                	jne    0x40ae8d
40aee2:	5f                   	pop    %edi
40aee3:	5e                   	pop    %esi
40aee4:	8a c3                	mov    %bl,%al
40aee6:	5b                   	pop    %ebx
40aee7:	c9                   	leave
40aee8:	c3                   	ret
40aee9:	e8 0d 14 00 00       	call   0x40c2fb
40aeee:	cc                   	int3
40aeef:	55                   	push   %ebp
40aef0:	8b ec                	mov    %esp,%ebp
40aef2:	ff 75 10             	push   0x10(%ebp)
40aef5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40aef8:	ff 55 0c             	call   *0xc(%ebp)
40aefb:	5d                   	pop    %ebp
40aefc:	c2 0c 00             	ret    $0xc
40aeff:	55                   	push   %ebp
40af00:	8b ec                	mov    %esp,%ebp
40af02:	ff 75 14             	push   0x14(%ebp)
40af05:	8b 4d 08             	mov    0x8(%ebp),%ecx
40af08:	ff 75 10             	push   0x10(%ebp)
40af0b:	ff 55 0c             	call   *0xc(%ebp)
40af0e:	5d                   	pop    %ebp
40af0f:	c2 10 00             	ret    $0x10
40af12:	55                   	push   %ebp
40af13:	8b ec                	mov    %esp,%ebp
40af15:	8b 45 08             	mov    0x8(%ebp),%eax
40af18:	8b 40 1c             	mov    0x1c(%eax),%eax
40af1b:	5d                   	pop    %ebp
40af1c:	c3                   	ret
40af1d:	cc                   	int3
40af1e:	cc                   	int3
40af1f:	cc                   	int3
40af20:	8b 41 04             	mov    0x4(%ecx),%eax
40af23:	85 c0                	test   %eax,%eax
40af25:	75 05                	jne    0x40af2c
40af27:	b8 b8 cf 41 00       	mov    $0x41cfb8,%eax
40af2c:	c3                   	ret
40af2d:	cc                   	int3
40af2e:	cc                   	int3
40af2f:	cc                   	int3
40af30:	55                   	push   %ebp
40af31:	8b ec                	mov    %esp,%ebp
40af33:	83 ec 04             	sub    $0x4,%esp
40af36:	53                   	push   %ebx
40af37:	51                   	push   %ecx
40af38:	8b 45 0c             	mov    0xc(%ebp),%eax
40af3b:	83 c0 0c             	add    $0xc,%eax
40af3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40af41:	8b 45 08             	mov    0x8(%ebp),%eax
40af44:	55                   	push   %ebp
40af45:	ff 75 10             	push   0x10(%ebp)
40af48:	8b 4d 10             	mov    0x10(%ebp),%ecx
40af4b:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40af4e:	e8 3d e6 ff ff       	call   0x409590
40af53:	56                   	push   %esi
40af54:	57                   	push   %edi
40af55:	ff d0                	call   *%eax
40af57:	5f                   	pop    %edi
40af58:	5e                   	pop    %esi
40af59:	8b dd                	mov    %ebp,%ebx
40af5b:	5d                   	pop    %ebp
40af5c:	8b 4d 10             	mov    0x10(%ebp),%ecx
40af5f:	55                   	push   %ebp
40af60:	8b eb                	mov    %ebx,%ebp
40af62:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
40af68:	75 05                	jne    0x40af6f
40af6a:	b9 02 00 00 00       	mov    $0x2,%ecx
40af6f:	51                   	push   %ecx
40af70:	e8 1b e6 ff ff       	call   0x409590
40af75:	5d                   	pop    %ebp
40af76:	59                   	pop    %ecx
40af77:	5b                   	pop    %ebx
40af78:	c9                   	leave
40af79:	c2 0c 00             	ret    $0xc
40af7c:	56                   	push   %esi
40af7d:	e8 aa e4 ff ff       	call   0x40942c
40af82:	8b 70 04             	mov    0x4(%eax),%esi
40af85:	85 f6                	test   %esi,%esi
40af87:	74 0a                	je     0x40af93
40af89:	8b ce                	mov    %esi,%ecx
40af8b:	ff 15 50 c2 41 00    	call   *0x41c250
40af91:	ff d6                	call   *%esi
40af93:	e8 a7 12 00 00       	call   0x40c23f
40af98:	cc                   	int3
40af99:	55                   	push   %ebp
40af9a:	8b ec                	mov    %esp,%ebp
40af9c:	8b 45 10             	mov    0x10(%ebp),%eax
40af9f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40afa2:	81 78 04 80 00 00 00 	cmpl   $0x80,0x4(%eax)
40afa9:	7f 06                	jg     0x40afb1
40afab:	0f be 41 08          	movsbl 0x8(%ecx),%eax
40afaf:	5d                   	pop    %ebp
40afb0:	c3                   	ret
40afb1:	8b 41 08             	mov    0x8(%ecx),%eax
40afb4:	5d                   	pop    %ebp
40afb5:	c3                   	ret
40afb6:	55                   	push   %ebp
40afb7:	8b ec                	mov    %esp,%ebp
40afb9:	8b 45 08             	mov    0x8(%ebp),%eax
40afbc:	8b 4d 10             	mov    0x10(%ebp),%ecx
40afbf:	89 48 08             	mov    %ecx,0x8(%eax)
40afc2:	5d                   	pop    %ebp
40afc3:	c3                   	ret
40afc4:	55                   	push   %ebp
40afc5:	8b ec                	mov    %esp,%ebp
40afc7:	57                   	push   %edi
40afc8:	8b 7d 08             	mov    0x8(%ebp),%edi
40afcb:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
40afcf:	74 48                	je     0x40b019
40afd1:	8b 0f                	mov    (%edi),%ecx
40afd3:	85 c9                	test   %ecx,%ecx
40afd5:	74 42                	je     0x40b019
40afd7:	8d 51 01             	lea    0x1(%ecx),%edx
40afda:	8a 01                	mov    (%ecx),%al
40afdc:	41                   	inc    %ecx
40afdd:	84 c0                	test   %al,%al
40afdf:	75 f9                	jne    0x40afda
40afe1:	2b ca                	sub    %edx,%ecx
40afe3:	53                   	push   %ebx
40afe4:	56                   	push   %esi
40afe5:	8d 59 01             	lea    0x1(%ecx),%ebx
40afe8:	53                   	push   %ebx
40afe9:	e8 a8 12 00 00       	call   0x40c296
40afee:	8b f0                	mov    %eax,%esi
40aff0:	59                   	pop    %ecx
40aff1:	85 f6                	test   %esi,%esi
40aff3:	74 19                	je     0x40b00e
40aff5:	ff 37                	push   (%edi)
40aff7:	53                   	push   %ebx
40aff8:	56                   	push   %esi
40aff9:	e8 a3 12 00 00       	call   0x40c2a1
40affe:	8b 45 0c             	mov    0xc(%ebp),%eax
40b001:	8b ce                	mov    %esi,%ecx
40b003:	83 c4 0c             	add    $0xc,%esp
40b006:	33 f6                	xor    %esi,%esi
40b008:	89 08                	mov    %ecx,(%eax)
40b00a:	c6 40 04 01          	movb   $0x1,0x4(%eax)
40b00e:	56                   	push   %esi
40b00f:	e8 67 12 00 00       	call   0x40c27b
40b014:	59                   	pop    %ecx
40b015:	5e                   	pop    %esi
40b016:	5b                   	pop    %ebx
40b017:	eb 0b                	jmp    0x40b024
40b019:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b01c:	8b 07                	mov    (%edi),%eax
40b01e:	89 01                	mov    %eax,(%ecx)
40b020:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
40b024:	5f                   	pop    %edi
40b025:	5d                   	pop    %ebp
40b026:	c3                   	ret
40b027:	55                   	push   %ebp
40b028:	8b ec                	mov    %esp,%ebp
40b02a:	56                   	push   %esi
40b02b:	8b 75 08             	mov    0x8(%ebp),%esi
40b02e:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
40b032:	74 08                	je     0x40b03c
40b034:	ff 36                	push   (%esi)
40b036:	e8 40 12 00 00       	call   0x40c27b
40b03b:	59                   	pop    %ecx
40b03c:	83 26 00             	andl   $0x0,(%esi)
40b03f:	c6 46 04 00          	movb   $0x0,0x4(%esi)
40b043:	5e                   	pop    %esi
40b044:	5d                   	pop    %ebp
40b045:	c3                   	ret
40b046:	55                   	push   %ebp
40b047:	8b ec                	mov    %esp,%ebp
40b049:	83 ec 14             	sub    $0x14,%esp
40b04c:	8b 45 08             	mov    0x8(%ebp),%eax
40b04f:	53                   	push   %ebx
40b050:	57                   	push   %edi
40b051:	8b 7d 0c             	mov    0xc(%ebp),%edi
40b054:	bb 20 05 93 19       	mov    $0x19930520,%ebx
40b059:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b05c:	85 ff                	test   %edi,%edi
40b05e:	74 2d                	je     0x40b08d
40b060:	f6 07 10             	testb  $0x10,(%edi)
40b063:	74 1e                	je     0x40b083
40b065:	8b 08                	mov    (%eax),%ecx
40b067:	83 e9 04             	sub    $0x4,%ecx
40b06a:	56                   	push   %esi
40b06b:	51                   	push   %ecx
40b06c:	8b 01                	mov    (%ecx),%eax
40b06e:	8b 70 20             	mov    0x20(%eax),%esi
40b071:	8b ce                	mov    %esi,%ecx
40b073:	8b 78 18             	mov    0x18(%eax),%edi
40b076:	ff 15 50 c2 41 00    	call   *0x41c250
40b07c:	ff d6                	call   *%esi
40b07e:	5e                   	pop    %esi
40b07f:	85 ff                	test   %edi,%edi
40b081:	74 0a                	je     0x40b08d
40b083:	f6 07 08             	testb  $0x8,(%edi)
40b086:	74 05                	je     0x40b08d
40b088:	bb 00 40 99 01       	mov    $0x1994000,%ebx
40b08d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40b090:	89 45 f8             	mov    %eax,-0x8(%ebp)