409e27:	89 45 e8             	mov    %eax,-0x18(%ebp)
409e2a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409e2d:	89 45 e0             	mov    %eax,-0x20(%ebp)
409e30:	89 45 dc             	mov    %eax,-0x24(%ebp)
409e33:	89 45 d8             	mov    %eax,-0x28(%ebp)
409e36:	89 45 fc             	mov    %eax,-0x4(%ebp)
409e39:	e8 17 62 03 00       	call   0x440055
409e3e:	8b f7                	mov    %edi,%esi
409e40:	59                   	pop    %ecx
409e41:	c1 e6 02             	shl    $0x2,%esi
409e44:	56                   	push   %esi
409e45:	89 45 ec             	mov    %eax,-0x14(%ebp)
409e48:	e8 08 62 03 00       	call   0x440055
409e4d:	59                   	pop    %ecx
409e4e:	53                   	push   %ebx
409e4f:	89 45 e8             	mov    %eax,-0x18(%ebp)
409e52:	e8 fe 61 03 00       	call   0x440055
409e57:	59                   	pop    %ecx
409e58:	56                   	push   %esi
409e59:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409e5c:	e8 f4 61 03 00       	call   0x440055
409e61:	33 db                	xor    %ebx,%ebx
409e63:	89 45 e0             	mov    %eax,-0x20(%ebp)
409e66:	43                   	inc    %ebx
409e67:	59                   	pop    %ecx
409e68:	33 c0                	xor    %eax,%eax
409e6a:	3b 45 d0             	cmp    -0x30(%ebp),%eax
409e6d:	0f 83 b4 00 00 00    	jae    0x409f27
409e73:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409e76:	8b f0                	mov    %eax,%esi
409e78:	c1 e6 02             	shl    $0x2,%esi
409e7b:	03 ce                	add    %esi,%ecx
409e7d:	51                   	push   %ecx
409e7e:	8d 78 01             	lea    0x1(%eax),%edi
409e81:	57                   	push   %edi
409e82:	ff 75 08             	push   0x8(%ebp)
409e85:	89 4d c8             	mov    %ecx,-0x38(%ebp)
409e88:	ff 15 dc 04 4b 00    	call   *0x4b04dc
409e8e:	50                   	push   %eax
409e8f:	e8 00 ff ff ff       	call   0x409d94
409e94:	8b 45 e8             	mov    -0x18(%ebp),%eax
409e97:	03 c6                	add    %esi,%eax
409e99:	50                   	push   %eax
409e9a:	57                   	push   %edi
409e9b:	ff 75 0c             	push   0xc(%ebp)
409e9e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409ea1:	ff 15 dc 04 4b 00    	call   *0x4b04dc
409ea7:	50                   	push   %eax
409ea8:	e8 e7 fe ff ff       	call   0x409d94
409ead:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409eb0:	03 c6                	add    %esi,%eax
409eb2:	50                   	push   %eax
409eb3:	57                   	push   %edi
409eb4:	ff 75 08             	push   0x8(%ebp)
409eb7:	89 45 cc             	mov    %eax,-0x34(%ebp)
409eba:	ff 15 e0 04 4b 00    	call   *0x4b04e0
409ec0:	50                   	push   %eax
409ec1:	e8 ce fe ff ff       	call   0x409d94
409ec6:	8b 45 e0             	mov    -0x20(%ebp),%eax
409ec9:	03 f0                	add    %eax,%esi
409ecb:	56                   	push   %esi
409ecc:	57                   	push   %edi
409ecd:	ff 75 0c             	push   0xc(%ebp)
409ed0:	ff 15 e0 04 4b 00    	call   *0x4b04e0
409ed6:	50                   	push   %eax
409ed7:	e8 b8 fe ff ff       	call   0x409d94
409edc:	8b 45 cc             	mov    -0x34(%ebp),%eax
409edf:	8b 4d c8             	mov    -0x38(%ebp),%ecx
409ee2:	8b 00                	mov    (%eax),%eax
409ee4:	2b 01                	sub    (%ecx),%eax
409ee6:	8b 0e                	mov    (%esi),%ecx
409ee8:	8b 55 c4             	mov    -0x3c(%ebp),%edx
409eeb:	2b 0a                	sub    (%edx),%ecx
409eed:	3b c1                	cmp    %ecx,%eax
409eef:	74 2b                	je     0x409f1c
409ef1:	ff 75 ec             	push   -0x14(%ebp)
409ef4:	e8 87 61 03 00       	call   0x440080
409ef9:	59                   	pop    %ecx
409efa:	ff 75 e8             	push   -0x18(%ebp)
409efd:	e8 7e 61 03 00       	call   0x440080
409f02:	59                   	pop    %ecx
409f03:	ff 75 e4             	push   -0x1c(%ebp)
409f06:	e8 75 61 03 00       	call   0x440080
409f0b:	59                   	pop    %ecx
409f0c:	ff 75 e0             	push   -0x20(%ebp)
409f0f:	e8 6c 61 03 00       	call   0x440080
409f14:	59                   	pop    %ecx
409f15:	33 c0                	xor    %eax,%eax
409f17:	e9 f0 00 00 00       	jmp    0x40a00c
409f1c:	40                   	inc    %eax
409f1d:	0f af d8             	imul   %eax,%ebx
409f20:	8b c7                	mov    %edi,%eax
409f22:	e9 43 ff ff ff       	jmp    0x409e6a
409f27:	8b 35 e4 04 4b 00    	mov    0x4b04e4,%esi
409f2d:	8d 45 dc             	lea    -0x24(%ebp),%eax
409f30:	50                   	push   %eax
409f31:	ff 75 08             	push   0x8(%ebp)
409f34:	ff d6                	call   *%esi
409f36:	50                   	push   %eax
409f37:	e8 58 fe ff ff       	call   0x409d94
409f3c:	8d 45 d8             	lea    -0x28(%ebp),%eax
409f3f:	50                   	push   %eax
409f40:	ff 75 0c             	push   0xc(%ebp)
409f43:	ff d6                	call   *%esi
409f45:	50                   	push   %eax
409f46:	e8 49 fe ff ff       	call   0x409d94
409f4b:	0f af 5d d4          	imul   -0x2c(%ebp),%ebx
409f4f:	53                   	push   %ebx
409f50:	ff 75 d8             	push   -0x28(%ebp)
409f53:	ff 75 dc             	push   -0x24(%ebp)
409f56:	e8 45 ea 00 00       	call   0x4189a0
409f5b:	8b 35 e8 04 4b 00    	mov    0x4b04e8,%esi
409f61:	33 c9                	xor    %ecx,%ecx
409f63:	83 c4 0c             	add    $0xc,%esp
409f66:	ff 75 08             	push   0x8(%ebp)
409f69:	85 c0                	test   %eax,%eax
409f6b:	0f 94 c1             	sete   %cl
409f6e:	8b f9                	mov    %ecx,%edi
409f70:	ff d6                	call   *%esi
409f72:	50                   	push   %eax
409f73:	e8 1c fe ff ff       	call   0x409d94
409f78:	ff 75 0c             	push   0xc(%ebp)
409f7b:	ff d6                	call   *%esi
409f7d:	50                   	push   %eax
409f7e:	e8 11 fe ff ff       	call   0x409d94
409f83:	ff 75 ec             	push   -0x14(%ebp)
409f86:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409f8a:	e8 f1 60 03 00       	call   0x440080
409f8f:	ff 75 e8             	push   -0x18(%ebp)
409f92:	e8 e9 60 03 00       	call   0x440080
409f97:	ff 75 e4             	push   -0x1c(%ebp)
409f9a:	e8 e1 60 03 00       	call   0x440080
409f9f:	ff 75 e0             	push   -0x20(%ebp)
409fa2:	e8 d9 60 03 00       	call   0x440080
409fa7:	83 c4 10             	add    $0x10,%esp
409faa:	8b c7                	mov    %edi,%eax
409fac:	eb 5e                	jmp    0x40a00c
409fae:	ff 75 ec             	push   -0x14(%ebp)
409fb1:	e8 ca 60 03 00       	call   0x440080
409fb6:	ff 75 e8             	push   -0x18(%ebp)
409fb9:	e8 c2 60 03 00       	call   0x440080
409fbe:	ff 75 e4             	push   -0x1c(%ebp)
409fc1:	e8 ba 60 03 00       	call   0x440080
409fc6:	ff 75 e0             	push   -0x20(%ebp)
409fc9:	e8 b2 60 03 00       	call   0x440080
409fce:	33 f6                	xor    %esi,%esi
409fd0:	83 c4 10             	add    $0x10,%esp
409fd3:	39 75 dc             	cmp    %esi,-0x24(%ebp)
409fd6:	74 0f                	je     0x409fe7
409fd8:	ff 75 08             	push   0x8(%ebp)
409fdb:	ff 15 e8 04 4b 00    	call   *0x4b04e8
409fe1:	50                   	push   %eax
409fe2:	e8 ad fd ff ff       	call   0x409d94
409fe7:	39 75 d8             	cmp    %esi,-0x28(%ebp)
409fea:	74 0f                	je     0x409ffb
409fec:	ff 75 0c             	push   0xc(%ebp)
409fef:	ff 15 e8 04 4b 00    	call   *0x4b04e8
409ff5:	50                   	push   %eax
409ff6:	e8 99 fd ff ff       	call   0x409d94
409ffb:	56                   	push   %esi
409ffc:	56                   	push   %esi
409ffd:	e8 55 d5 00 00       	call   0x417557
40a002:	33 c9                	xor    %ecx,%ecx
40a004:	3b 45 0c             	cmp    0xc(%ebp),%eax
40a007:	0f 94 c1             	sete   %cl
40a00a:	8b c1                	mov    %ecx,%eax
40a00c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40a00f:	5f                   	pop    %edi
40a010:	5e                   	pop    %esi
40a011:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a018:	5b                   	pop    %ebx
40a019:	c9                   	leave
40a01a:	c2 08 00             	ret    $0x8
40a01d:	55                   	push   %ebp
40a01e:	8b ec                	mov    %esp,%ebp
40a020:	83 ec 0c             	sub    $0xc,%esp
40a023:	56                   	push   %esi
40a024:	8b 75 08             	mov    0x8(%ebp),%esi
40a027:	66 81 3e 11 20       	cmpw   $0x2011,(%esi)
40a02c:	75 69                	jne    0x40a097
40a02e:	ff 76 08             	push   0x8(%esi)
40a031:	ff 15 d4 04 4b 00    	call   *0x4b04d4
40a037:	83 f8 01             	cmp    $0x1,%eax
40a03a:	75 5b                	jne    0x40a097
40a03c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40a03f:	50                   	push   %eax
40a040:	6a 01                	push   $0x1
40a042:	ff 76 08             	push   0x8(%esi)
40a045:	ff 15 dc 04 4b 00    	call   *0x4b04dc
40a04b:	50                   	push   %eax
40a04c:	e8 43 fd ff ff       	call   0x409d94
40a051:	8d 45 08             	lea    0x8(%ebp),%eax
40a054:	50                   	push   %eax
40a055:	6a 01                	push   $0x1
40a057:	ff 76 08             	push   0x8(%esi)
40a05a:	ff 15 e0 04 4b 00    	call   *0x4b04e0
40a060:	50                   	push   %eax
40a061:	e8 2e fd ff ff       	call   0x409d94
40a066:	8b 45 08             	mov    0x8(%ebp),%eax
40a069:	8b 55 fc             	mov    -0x4(%ebp),%edx
40a06c:	2b c2                	sub    %edx,%eax
40a06e:	79 02                	jns    0x40a072
40a070:	33 c0                	xor    %eax,%eax
40a072:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a075:	3b c1                	cmp    %ecx,%eax
40a077:	74 19                	je     0x40a092
40a079:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a07c:	50                   	push   %eax
40a07d:	ff 76 08             	push   0x8(%esi)
40a080:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40a083:	89 55 f8             	mov    %edx,-0x8(%ebp)
40a086:	ff 15 cc 04 4b 00    	call   *0x4b04cc
40a08c:	50                   	push   %eax
40a08d:	e8 02 fd ff ff       	call   0x409d94
40a092:	5e                   	pop    %esi
40a093:	c9                   	leave
40a094:	c2 08 00             	ret    $0x8
40a097:	56                   	push   %esi
40a098:	ff 15 f4 04 4b 00    	call   *0x4b04f4
40a09e:	8b 45 0c             	mov    0xc(%ebp),%eax
40a0a1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40a0a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a0a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a0ab:	50                   	push   %eax
40a0ac:	6a 01                	push   $0x1
40a0ae:	6a 11                	push   $0x11
40a0b0:	66 c7 06 11 20       	movw   $0x2011,(%esi)
40a0b5:	ff 15 d0 04 4b 00    	call   *0x4b04d0
40a0bb:	85 c0                	test   %eax,%eax
40a0bd:	89 46 08             	mov    %eax,0x8(%esi)
40a0c0:	75 d0                	jne    0x40a092
40a0c2:	e8 50 b3 02 00       	call   0x435417
40a0c7:	cc                   	int3
40a0c8:	55                   	push   %ebp
40a0c9:	8b ec                	mov    %esp,%ebp
40a0cb:	51                   	push   %ecx
40a0cc:	8d 45 fc             	lea    -0x4(%ebp),%eax
40a0cf:	50                   	push   %eax
40a0d0:	ff 75 08             	push   0x8(%ebp)
40a0d3:	ff 15 e4 04 4b 00    	call   *0x4b04e4
40a0d9:	50                   	push   %eax
40a0da:	e8 b5 fc ff ff       	call   0x409d94
40a0df:	ff 75 10             	push   0x10(%ebp)
40a0e2:	ff 75 0c             	push   0xc(%ebp)
40a0e5:	ff 75 fc             	push   -0x4(%ebp)
40a0e8:	e8 83 d7 00 00       	call   0x417870
40a0ed:	83 c4 0c             	add    $0xc,%esp
40a0f0:	ff 75 08             	push   0x8(%ebp)
40a0f3:	ff 15 e8 04 4b 00    	call   *0x4b04e8
40a0f9:	50                   	push   %eax
40a0fa:	e8 95 fc ff ff       	call   0x409d94
40a0ff:	c9                   	leave
40a100:	c2 0c 00             	ret    $0xc
40a103:	66 83 7c 24 08 0b    	cmpw   $0xb,0x8(%esp)
40a109:	8b c1                	mov    %ecx,%eax
40a10b:	66 8b 4c 24 04       	mov    0x4(%esp),%cx
40a110:	75 0c                	jne    0x40a11e
40a112:	66 f7 d9             	neg    %cx
40a115:	66 c7 00 0b 00       	movw   $0xb,(%eax)
40a11a:	1b c9                	sbb    %ecx,%ecx
40a11c:	eb 05                	jmp    0x40a123
40a11e:	66 c7 00 02 00       	movw   $0x2,(%eax)
40a123:	66 89 48 08          	mov    %cx,0x8(%eax)
40a127:	c2 08 00             	ret    $0x8
40a12a:	55                   	push   %ebp
40a12b:	8b ec                	mov    %esp,%ebp
40a12d:	8b c1                	mov    %ecx,%eax
40a12f:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
40a133:	66 83 f9 0a          	cmp    $0xa,%cx
40a137:	75 05                	jne    0x40a13e
40a139:	66 89 08             	mov    %cx,(%eax)
40a13c:	eb 47                	jmp    0x40a185
40a13e:	66 83 f9 0b          	cmp    $0xb,%cx
40a142:	75 10                	jne    0x40a154
40a144:	66 89 08             	mov    %cx,(%eax)
40a147:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a14a:	f7 d9                	neg    %ecx
40a14c:	1b c9                	sbb    %ecx,%ecx
40a14e:	66 89 48 08          	mov    %cx,0x8(%eax)
40a152:	eb 37                	jmp    0x40a18b
40a154:	66 83 f9 16          	cmp    $0x16,%cx
40a158:	75 05                	jne    0x40a15f
40a15a:	66 89 08             	mov    %cx,(%eax)
40a15d:	eb 26                	jmp    0x40a185
40a15f:	66 83 f9 17          	cmp    $0x17,%cx
40a163:	75 05                	jne    0x40a16a
40a165:	66 89 08             	mov    %cx,(%eax)
40a168:	eb 1b                	jmp    0x40a185
40a16a:	66 83 f9 19          	cmp    $0x19,%cx
40a16e:	75 05                	jne    0x40a175
40a170:	66 89 08             	mov    %cx,(%eax)
40a173:	eb 10                	jmp    0x40a185
40a175:	66 83 f9 13          	cmp    $0x13,%cx
40a179:	75 05                	jne    0x40a180
40a17b:	66 89 08             	mov    %cx,(%eax)
40a17e:	eb 05                	jmp    0x40a185
40a180:	66 c7 00 03 00       	movw   $0x3,(%eax)
40a185:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a188:	89 48 08             	mov    %ecx,0x8(%eax)
40a18b:	5d                   	pop    %ebp
40a18c:	c2 08 00             	ret    $0x8
40a18f:	8b 54 24 08          	mov    0x8(%esp),%edx
40a193:	85 d2                	test   %edx,%edx
40a195:	75 02                	jne    0x40a199
40a197:	8b d1                	mov    %ecx,%edx
40a199:	3b d1                	cmp    %ecx,%edx
40a19b:	8b 44 24 04          	mov    0x4(%esp),%eax
40a19f:	75 05                	jne    0x40a1a6
40a1a1:	66 3b 01             	cmp    (%ecx),%ax
40a1a4:	74 11                	je     0x40a1b7
40a1a6:	50                   	push   %eax
40a1a7:	6a 00                	push   $0x0
40a1a9:	52                   	push   %edx
40a1aa:	51                   	push   %ecx
40a1ab:	ff 15 f0 04 4b 00    	call   *0x4b04f0
40a1b1:	50                   	push   %eax
40a1b2:	e8 dd fb ff ff       	call   0x409d94
40a1b7:	c2 08 00             	ret    $0x8
40a1ba:	55                   	push   %ebp
40a1bb:	8b ec                	mov    %esp,%ebp
40a1bd:	83 ec 10             	sub    $0x10,%esp
40a1c0:	8b 45 08             	mov    0x8(%ebp),%eax
40a1c3:	56                   	push   %esi
40a1c4:	57                   	push   %edi
40a1c5:	8b f1                	mov    %ecx,%esi
40a1c7:	8d 7d f0             	lea    -0x10(%ebp),%edi
40a1ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1cb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1cd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1ce:	66 83 21 00          	andw   $0x0,(%ecx)
40a1d2:	8d 75 f0             	lea    -0x10(%ebp),%esi
40a1d5:	8b f8                	mov    %eax,%edi
40a1d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1db:	5f                   	pop    %edi
40a1dc:	5e                   	pop    %esi
40a1dd:	c9                   	leave
40a1de:	c2 04 00             	ret    $0x4
40a1e1:	56                   	push   %esi
40a1e2:	57                   	push   %edi
40a1e3:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40a1e7:	8b f1                	mov    %ecx,%esi
40a1e9:	3b fe                	cmp    %esi,%edi
40a1eb:	74 4c                	je     0x40a239
40a1ed:	66 8b 06             	mov    (%esi),%ax
40a1f0:	66 39 07             	cmp    %ax,(%edi)
40a1f3:	75 72                	jne    0x40a267