40bee7:	ff 15 68 12 43 00    	call   *0x431268
40beed:	ff 55 e4             	call   *-0x1c(%ebp)
40bef0:	8b c8                	mov    %eax,%ecx
40bef2:	eb 0b                	jmp    0x40beff
40bef4:	8b 45 08             	mov    0x8(%ebp),%eax
40bef7:	f6 c1 08             	test   $0x8,%cl
40befa:	74 1c                	je     0x40bf18
40befc:	8b 48 18             	mov    0x18(%eax),%ecx
40beff:	85 c9                	test   %ecx,%ecx
40bf01:	0f 84 b9 00 00 00    	je     0x40bfc0
40bf07:	85 f6                	test   %esi,%esi
40bf09:	0f 84 b1 00 00 00    	je     0x40bfc0
40bf0f:	89 0e                	mov    %ecx,(%esi)
40bf11:	8d 47 08             	lea    0x8(%edi),%eax
40bf14:	50                   	push   %eax
40bf15:	51                   	push   %ecx
40bf16:	eb 37                	jmp    0x40bf4f
40bf18:	f6 07 01             	testb  $0x1,(%edi)
40bf1b:	74 3d                	je     0x40bf5a
40bf1d:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
40bf21:	0f 84 99 00 00 00    	je     0x40bfc0
40bf27:	85 f6                	test   %esi,%esi
40bf29:	0f 84 91 00 00 00    	je     0x40bfc0
40bf2f:	ff 77 14             	push   0x14(%edi)
40bf32:	ff 70 18             	push   0x18(%eax)
40bf35:	56                   	push   %esi
40bf36:	e8 05 ef ff ff       	call   0x40ae40
40bf3b:	83 c4 0c             	add    $0xc,%esp
40bf3e:	83 7f 14 04          	cmpl   $0x4,0x14(%edi)
40bf42:	75 56                	jne    0x40bf9a
40bf44:	83 3e 00             	cmpl   $0x0,(%esi)
40bf47:	74 51                	je     0x40bf9a
40bf49:	8d 47 08             	lea    0x8(%edi),%eax
40bf4c:	50                   	push   %eax
40bf4d:	ff 36                	push   (%esi)
40bf4f:	e8 98 fd ff ff       	call   0x40bcec
40bf54:	59                   	pop    %ecx
40bf55:	59                   	pop    %ecx
40bf56:	89 06                	mov    %eax,(%esi)
40bf58:	eb 40                	jmp    0x40bf9a
40bf5a:	8b 48 18             	mov    0x18(%eax),%ecx
40bf5d:	39 5f 18             	cmp    %ebx,0x18(%edi)
40bf60:	75 23                	jne    0x40bf85
40bf62:	85 c9                	test   %ecx,%ecx
40bf64:	74 5a                	je     0x40bfc0
40bf66:	85 f6                	test   %esi,%esi
40bf68:	74 56                	je     0x40bfc0
40bf6a:	ff 77 14             	push   0x14(%edi)
40bf6d:	8d 47 08             	lea    0x8(%edi),%eax
40bf70:	50                   	push   %eax
40bf71:	51                   	push   %ecx
40bf72:	e8 75 fd ff ff       	call   0x40bcec
40bf77:	59                   	pop    %ecx
40bf78:	59                   	pop    %ecx
40bf79:	50                   	push   %eax
40bf7a:	56                   	push   %esi
40bf7b:	e8 c0 ee ff ff       	call   0x40ae40
40bf80:	83 c4 0c             	add    $0xc,%esp
40bf83:	eb 15                	jmp    0x40bf9a
40bf85:	85 c9                	test   %ecx,%ecx
40bf87:	74 37                	je     0x40bfc0
40bf89:	85 f6                	test   %esi,%esi
40bf8b:	74 33                	je     0x40bfc0
40bf8d:	f6 07 04             	testb  $0x4,(%edi)
40bf90:	6a 00                	push   $0x0
40bf92:	5b                   	pop    %ebx
40bf93:	0f 95 c3             	setne  %bl
40bf96:	43                   	inc    %ebx
40bf97:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40bf9a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bfa1:	8b c3                	mov    %ebx,%eax
40bfa3:	eb 0b                	jmp    0x40bfb0
40bfa5:	33 c0                	xor    %eax,%eax
40bfa7:	40                   	inc    %eax
40bfa8:	c3                   	ret
40bfa9:	8b 65 e8             	mov    -0x18(%ebp),%esp
40bfac:	eb 12                	jmp    0x40bfc0
40bfae:	33 c0                	xor    %eax,%eax
40bfb0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bfb3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bfba:	59                   	pop    %ecx
40bfbb:	5f                   	pop    %edi
40bfbc:	5e                   	pop    %esi
40bfbd:	5b                   	pop    %ebx
40bfbe:	c9                   	leave
40bfbf:	c3                   	ret
40bfc0:	e8 cc fe 00 00       	call   0x41be91
40bfc5:	cc                   	int3
40bfc6:	6a 08                	push   $0x8
40bfc8:	68 c0 aa 43 00       	push   $0x43aac0
40bfcd:	e8 fe e4 ff ff       	call   0x40a4d0
40bfd2:	8b 55 10             	mov    0x10(%ebp),%edx
40bfd5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bfd8:	83 3a 00             	cmpl   $0x0,(%edx)
40bfdb:	7d 04                	jge    0x40bfe1
40bfdd:	8b f9                	mov    %ecx,%edi
40bfdf:	eb 06                	jmp    0x40bfe7
40bfe1:	8d 79 0c             	lea    0xc(%ecx),%edi
40bfe4:	03 7a 08             	add    0x8(%edx),%edi
40bfe7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bfeb:	8b 75 14             	mov    0x14(%ebp),%esi
40bfee:	56                   	push   %esi
40bfef:	52                   	push   %edx
40bff0:	51                   	push   %ecx
40bff1:	8b 5d 08             	mov    0x8(%ebp),%ebx
40bff4:	53                   	push   %ebx
40bff5:	e8 8e fe ff ff       	call   0x40be88
40bffa:	83 c4 10             	add    $0x10,%esp
40bffd:	83 e8 01             	sub    $0x1,%eax
40c000:	74 21                	je     0x40c023
40c002:	83 e8 01             	sub    $0x1,%eax
40c005:	75 34                	jne    0x40c03b
40c007:	8d 46 08             	lea    0x8(%esi),%eax
40c00a:	50                   	push   %eax
40c00b:	ff 73 18             	push   0x18(%ebx)
40c00e:	e8 d9 fc ff ff       	call   0x40bcec
40c013:	59                   	pop    %ecx
40c014:	59                   	pop    %ecx
40c015:	6a 01                	push   $0x1
40c017:	50                   	push   %eax
40c018:	ff 76 18             	push   0x18(%esi)
40c01b:	57                   	push   %edi
40c01c:	e8 85 0b 00 00       	call   0x40cba6
40c021:	eb 18                	jmp    0x40c03b
40c023:	8d 46 08             	lea    0x8(%esi),%eax
40c026:	50                   	push   %eax
40c027:	ff 73 18             	push   0x18(%ebx)
40c02a:	e8 bd fc ff ff       	call   0x40bcec
40c02f:	59                   	pop    %ecx
40c030:	59                   	pop    %ecx
40c031:	50                   	push   %eax
40c032:	ff 76 18             	push   0x18(%esi)
40c035:	57                   	push   %edi
40c036:	e8 5b 0b 00 00       	call   0x40cb96
40c03b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c042:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c045:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c04c:	59                   	pop    %ecx
40c04d:	5f                   	pop    %edi
40c04e:	5e                   	pop    %esi
40c04f:	5b                   	pop    %ebx
40c050:	c9                   	leave
40c051:	c3                   	ret
40c052:	33 c0                	xor    %eax,%eax
40c054:	40                   	inc    %eax
40c055:	c3                   	ret
40c056:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c059:	e8 33 fe 00 00       	call   0x41be91
40c05e:	cc                   	int3
40c05f:	55                   	push   %ebp
40c060:	8b ec                	mov    %esp,%ebp
40c062:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
40c066:	53                   	push   %ebx
40c067:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40c06a:	56                   	push   %esi
40c06b:	57                   	push   %edi
40c06c:	8b 7d 0c             	mov    0xc(%ebp),%edi
40c06f:	74 10                	je     0x40c081
40c071:	ff 75 20             	push   0x20(%ebp)
40c074:	53                   	push   %ebx
40c075:	57                   	push   %edi
40c076:	ff 75 08             	push   0x8(%ebp)
40c079:	e8 48 ff ff ff       	call   0x40bfc6
40c07e:	83 c4 10             	add    $0x10,%esp
40c081:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
40c085:	8b c7                	mov    %edi,%eax
40c087:	ff 75 08             	push   0x8(%ebp)
40c08a:	0f 45 45 2c          	cmovne 0x2c(%ebp),%eax
40c08e:	50                   	push   %eax
40c08f:	e8 d8 eb ff ff       	call   0x40ac6c
40c094:	8b 75 24             	mov    0x24(%ebp),%esi
40c097:	ff 36                	push   (%esi)
40c099:	ff 75 18             	push   0x18(%ebp)
40c09c:	ff 75 14             	push   0x14(%ebp)
40c09f:	57                   	push   %edi
40c0a0:	e8 6f 09 00 00       	call   0x40ca14
40c0a5:	8b 46 04             	mov    0x4(%esi),%eax
40c0a8:	40                   	inc    %eax
40c0a9:	50                   	push   %eax
40c0aa:	ff 75 18             	push   0x18(%ebp)
40c0ad:	57                   	push   %edi
40c0ae:	e8 ca 0f 00 00       	call   0x40d07d
40c0b3:	68 00 01 00 00       	push   $0x100
40c0b8:	ff 75 28             	push   0x28(%ebp)
40c0bb:	ff 73 0c             	push   0xc(%ebx)
40c0be:	ff 75 18             	push   0x18(%ebp)
40c0c1:	ff 75 10             	push   0x10(%ebp)
40c0c4:	57                   	push   %edi
40c0c5:	ff 75 08             	push   0x8(%ebp)
40c0c8:	e8 d7 06 00 00       	call   0x40c7a4
40c0cd:	83 c4 38             	add    $0x38,%esp
40c0d0:	85 c0                	test   %eax,%eax
40c0d2:	74 07                	je     0x40c0db
40c0d4:	57                   	push   %edi
40c0d5:	50                   	push   %eax
40c0d6:	e8 61 eb ff ff       	call   0x40ac3c
40c0db:	5f                   	pop    %edi
40c0dc:	5e                   	pop    %esi
40c0dd:	5b                   	pop    %ebx
40c0de:	5d                   	pop    %ebp
40c0df:	c3                   	ret
40c0e0:	55                   	push   %ebp
40c0e1:	8b ec                	mov    %esp,%ebp
40c0e3:	83 ec 64             	sub    $0x64,%esp
40c0e6:	53                   	push   %ebx
40c0e7:	56                   	push   %esi
40c0e8:	57                   	push   %edi
40c0e9:	8b 7d 18             	mov    0x18(%ebp),%edi
40c0ec:	33 c0                	xor    %eax,%eax
40c0ee:	57                   	push   %edi
40c0ef:	ff 75 14             	push   0x14(%ebp)
40c0f2:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c0f5:	ff 75 0c             	push   0xc(%ebp)
40c0f8:	88 45 e8             	mov    %al,-0x18(%ebp)
40c0fb:	e8 60 0f 00 00       	call   0x40d060
40c100:	8b c8                	mov    %eax,%ecx
40c102:	83 c4 0c             	add    $0xc,%esp
40c105:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40c108:	83 f9 ff             	cmp    $0xffffffff,%ecx
40c10b:	0f 8c 6c 03 00 00    	jl     0x40c47d
40c111:	3b 4f 04             	cmp    0x4(%edi),%ecx
40c114:	0f 8d 63 03 00 00    	jge    0x40c47d
40c11a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40c11d:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40c123:	0f 85 f7 00 00 00    	jne    0x40c220
40c129:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
40c12d:	0f 85 ed 00 00 00    	jne    0x40c220
40c133:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
40c13a:	74 16                	je     0x40c152
40c13c:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
40c143:	74 0d                	je     0x40c152
40c145:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
40c14c:	0f 85 ce 00 00 00    	jne    0x40c220
40c152:	33 f6                	xor    %esi,%esi
40c154:	39 73 1c             	cmp    %esi,0x1c(%ebx)
40c157:	0f 85 c3 00 00 00    	jne    0x40c220
40c15d:	e8 38 fc ff ff       	call   0x40bd9a
40c162:	39 70 10             	cmp    %esi,0x10(%eax)
40c165:	0f 84 a8 02 00 00    	je     0x40c413
40c16b:	e8 2a fc ff ff       	call   0x40bd9a
40c170:	8b 58 10             	mov    0x10(%eax),%ebx
40c173:	e8 22 fc ff ff       	call   0x40bd9a
40c178:	c6 45 e8 01          	movb   $0x1,-0x18(%ebp)
40c17c:	8b 40 14             	mov    0x14(%eax),%eax
40c17f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c182:	85 db                	test   %ebx,%ebx
40c184:	0f 84 f3 02 00 00    	je     0x40c47d
40c18a:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40c190:	75 2a                	jne    0x40c1bc
40c192:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
40c196:	75 24                	jne    0x40c1bc
40c198:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
40c19f:	74 12                	je     0x40c1b3
40c1a1:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
40c1a8:	74 09                	je     0x40c1b3
40c1aa:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
40c1b1:	75 09                	jne    0x40c1bc
40c1b3:	39 73 1c             	cmp    %esi,0x1c(%ebx)
40c1b6:	0f 84 c1 02 00 00    	je     0x40c47d
40c1bc:	e8 d9 fb ff ff       	call   0x40bd9a
40c1c1:	39 70 1c             	cmp    %esi,0x1c(%eax)
40c1c4:	74 62                	je     0x40c228
40c1c6:	e8 cf fb ff ff       	call   0x40bd9a
40c1cb:	8b 40 1c             	mov    0x1c(%eax),%eax
40c1ce:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c1d1:	e8 c4 fb ff ff       	call   0x40bd9a
40c1d6:	ff 75 f4             	push   -0xc(%ebp)
40c1d9:	53                   	push   %ebx
40c1da:	89 70 1c             	mov    %esi,0x1c(%eax)
40c1dd:	e8 1a 09 00 00       	call   0x40cafc
40c1e2:	59                   	pop    %ecx
40c1e3:	59                   	pop    %ecx
40c1e4:	84 c0                	test   %al,%al
40c1e6:	75 40                	jne    0x40c228
40c1e8:	8b 7d f4             	mov    -0xc(%ebp),%edi
40c1eb:	39 37                	cmp    %esi,(%edi)
40c1ed:	0f 8e 25 02 00 00    	jle    0x40c418
40c1f3:	8b 47 04             	mov    0x4(%edi),%eax
40c1f6:	68 a0 dc 43 00       	push   $0x43dca0
40c1fb:	8b 4c 06 04          	mov    0x4(%esi,%eax,1),%ecx
40c1ff:	e8 81 05 00 00       	call   0x40c785
40c204:	84 c0                	test   %al,%al
40c206:	0f 85 11 02 00 00    	jne    0x40c41d
40c20c:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c20f:	83 c6 10             	add    $0x10,%esi
40c212:	40                   	inc    %eax
40c213:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c216:	3b 07                	cmp    (%edi),%eax
40c218:	0f 8d fa 01 00 00    	jge    0x40c418
40c21e:	eb d3                	jmp    0x40c1f3
40c220:	8b 55 10             	mov    0x10(%ebp),%edx
40c223:	89 55 fc             	mov    %edx,-0x4(%ebp)
40c226:	eb 06                	jmp    0x40c22e
40c228:	8b 55 fc             	mov    -0x4(%ebp),%edx
40c22b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40c22e:	33 c0                	xor    %eax,%eax
40c230:	89 7d d0             	mov    %edi,-0x30(%ebp)
40c233:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40c236:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40c23c:	0f 85 a0 01 00 00    	jne    0x40c3e2
40c242:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
40c246:	0f 85 96 01 00 00    	jne    0x40c3e2
40c24c:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
40c253:	74 16                	je     0x40c26b
40c255:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
40c25c:	74 0d                	je     0x40c26b
40c25e:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
40c265:	0f 85 77 01 00 00    	jne    0x40c3e2
40c26b:	39 47 0c             	cmp    %eax,0xc(%edi)
40c26e:	0f 86 0e 01 00 00    	jbe    0x40c382
40c274:	ff 75 20             	push   0x20(%ebp)
40c277:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c27a:	57                   	push   %edi
40c27b:	ff 75 14             	push   0x14(%ebp)
40c27e:	51                   	push   %ecx
40c27f:	50                   	push   %eax
40c280:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c283:	50                   	push   %eax
40c284:	e8 f7 e7 ff ff       	call   0x40aa80
40c289:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40c28c:	83 c4 18             	add    $0x18,%esp
40c28f:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c292:	89 45 d8             	mov    %eax,-0x28(%ebp)
40c295:	89 55 f4             	mov    %edx,-0xc(%ebp)
40c298:	3b 55 cc             	cmp    -0x34(%ebp),%edx
40c29b:	0f 83 e1 00 00 00    	jae    0x40c382
40c2a1:	6b ca 14             	imul   $0x14,%edx,%ecx
40c2a4:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40c2a7:	8b 00                	mov    (%eax),%eax
40c2a9:	8d 7d 9c             	lea    -0x64(%ebp),%edi
40c2ac:	6a 05                	push   $0x5
40c2ae:	8b 70 10             	mov    0x10(%eax),%esi
40c2b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c2b4:	03 f1                	add    %ecx,%esi
40c2b6:	59                   	pop    %ecx
40c2b7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c2b9:	39 45 9c             	cmp    %eax,-0x64(%ebp)
40c2bc:	0f 8f a4 00 00 00    	jg     0x40c366
40c2c2:	3b 45 a0             	cmp    -0x60(%ebp),%eax
40c2c5:	0f 8f 9b 00 00 00    	jg     0x40c366
40c2cb:	33 c9                	xor    %ecx,%ecx
40c2cd:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c2d0:	39 4d a8             	cmp    %ecx,-0x58(%ebp)
40c2d3:	0f 84 8d 00 00 00    	je     0x40c366
40c2d9:	8b 53 1c             	mov    0x1c(%ebx),%edx
40c2dc:	8b 42 0c             	mov    0xc(%edx),%eax
40c2df:	8b 30                	mov    (%eax),%esi
40c2e1:	83 c0 04             	add    $0x4,%eax
40c2e4:	89 45 e0             	mov    %eax,-0x20(%ebp)
40c2e7:	8b 45 ac             	mov    -0x54(%ebp),%eax