409d5e:	59                   	pop    %ecx
409d5f:	00 4e 65             	add    %cl,0x65(%esi)
409d62:	74 73                	je     0x409dd7
409d64:	74 72                	je     0x409dd8
409d66:	6d                   	insl   (%dx),%es:(%edi)
409d67:	66 6f                	outsw  %ds:(%esi),(%dx)
409d69:	72 73                	jb     0x409dde
409d6b:	79 6e                	jns    0x409ddb
409d6d:	69 6e 67 73 00 00 00 	imul   $0x73,0x67(%esi),%ebp
409d74:	cc                   	int3
409d75:	cc                   	int3
409d76:	cc                   	int3
409d77:	cc                   	int3
409d78:	cc                   	int3
409d79:	cc                   	int3
409d7a:	cc                   	int3
409d7b:	cc                   	int3
409d7c:	cc                   	int3
409d7d:	cc                   	int3
409d7e:	cc                   	int3
409d7f:	cc                   	int3
409d80:	e9 e9 e9 e9 cc       	jmp    0xcd2a876e
409d85:	cc                   	int3
409d86:	cc                   	int3
409d87:	cc                   	int3
409d88:	cc                   	int3
409d89:	cc                   	int3
409d8a:	cc                   	int3
409d8b:	cc                   	int3
409d8c:	cc                   	int3
409d8d:	cc                   	int3
409d8e:	cc                   	int3
409d8f:	cc                   	int3
409d90:	55                   	push   %ebp
409d91:	8b ec                	mov    %esp,%ebp
409d93:	83 ec 0c             	sub    $0xc,%esp
409d96:	68 76 12 40 00       	push   $0x401276
409d9b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409da1:	50                   	push   %eax
409da2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409da9:	81 ec bc 00 00 00    	sub    $0xbc,%esp
409daf:	53                   	push   %ebx
409db0:	56                   	push   %esi
409db1:	57                   	push   %edi
409db2:	89 65 f4             	mov    %esp,-0xc(%ebp)
409db5:	c7 45 f8 a0 11 40 00 	movl   $0x4011a0,-0x8(%ebp)
409dbc:	8b 75 08             	mov    0x8(%ebp),%esi
409dbf:	8b c6                	mov    %esi,%eax
409dc1:	83 e0 01             	and    $0x1,%eax
409dc4:	89 45 fc             	mov    %eax,-0x4(%ebp)
409dc7:	83 e6 fe             	and    $0xfffffffe,%esi
409dca:	8b 0e                	mov    (%esi),%ecx
409dcc:	56                   	push   %esi
409dcd:	89 75 08             	mov    %esi,0x8(%ebp)
409dd0:	ff 51 04             	call   *0x4(%ecx)
409dd3:	33 ff                	xor    %edi,%edi
409dd5:	68 04 8f 40 00       	push   $0x408f04
409dda:	89 7d c8             	mov    %edi,-0x38(%ebp)
409ddd:	89 7d b8             	mov    %edi,-0x48(%ebp)
409de0:	89 7d b0             	mov    %edi,-0x50(%ebp)
409de3:	89 7d ac             	mov    %edi,-0x54(%ebp)
409de6:	89 7d a8             	mov    %edi,-0x58(%ebp)
409de9:	89 7d 98             	mov    %edi,-0x68(%ebp)
409dec:	89 7d 88             	mov    %edi,-0x78(%ebp)
409def:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
409df5:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
409dfc:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
409e02:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
409e08:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
409e0e:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
409e14:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
409e1a:	89 bd 58 ff ff ff    	mov    %edi,-0xa8(%ebp)
409e20:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
409e26:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
409e2c:	89 bd 54 ff ff ff    	mov    %edi,-0xac(%ebp)
409e32:	ff 15 70 10 40 00    	call   *0x401070
409e38:	dd 05 98 11 40 00    	fldl   0x401198
409e3e:	52                   	push   %edx
409e3f:	50                   	push   %eax
409e40:	ff 15 d8 10 40 00    	call   *0x4010d8
409e46:	85 c0                	test   %eax,%eax
409e48:	74 23                	je     0x409e6d
409e4a:	8b 16                	mov    (%esi),%edx
409e4c:	56                   	push   %esi
409e4d:	ff 92 14 07 00 00    	call   *0x714(%edx)
409e53:	3b c7                	cmp    %edi,%eax
409e55:	7d 16                	jge    0x409e6d
409e57:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
409e5d:	68 14 07 00 00       	push   $0x714
409e62:	68 ac 8d 40 00       	push   $0x408dac
409e67:	56                   	push   %esi
409e68:	50                   	push   %eax
409e69:	ff d3                	call   *%ebx
409e6b:	eb 06                	jmp    0x409e73
409e6d:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
409e73:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
409e79:	75 10                	jne    0x409e8b
409e7b:	68 c8 d6 40 00       	push   $0x40d6c8
409e80:	68 28 8f 40 00       	push   $0x408f28
409e85:	ff 15 14 11 40 00    	call   *0x401114
409e8b:	8b 3d c8 d6 40 00    	mov    0x40d6c8,%edi
409e91:	8b 07                	mov    (%edi),%eax
409e93:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409e96:	51                   	push   %ecx
409e97:	57                   	push   %edi
409e98:	ff 50 14             	call   *0x14(%eax)
409e9b:	db e2                	fnclex
409e9d:	85 c0                	test   %eax,%eax
409e9f:	7d 0b                	jge    0x409eac
409ea1:	6a 14                	push   $0x14
409ea3:	68 18 8f 40 00       	push   $0x408f18
409ea8:	57                   	push   %edi
409ea9:	50                   	push   %eax
409eaa:	ff d3                	call   *%ebx
409eac:	8b 45 ac             	mov    -0x54(%ebp),%eax
409eaf:	8b 10                	mov    (%eax),%edx
409eb1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409eb4:	51                   	push   %ecx
409eb5:	50                   	push   %eax
409eb6:	8b f8                	mov    %eax,%edi
409eb8:	ff 92 10 01 00 00    	call   *0x110(%edx)
409ebe:	db e2                	fnclex
409ec0:	85 c0                	test   %eax,%eax
409ec2:	7d 0e                	jge    0x409ed2
409ec4:	68 10 01 00 00       	push   $0x110
409ec9:	68 38 8f 40 00       	push   $0x408f38
409ece:	57                   	push   %edi
409ecf:	50                   	push   %eax
409ed0:	ff d3                	call   *%ebx
409ed2:	8b 55 b0             	mov    -0x50(%ebp),%edx
409ed5:	8d 4d b8             	lea    -0x48(%ebp),%ecx
409ed8:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
409edf:	ff 15 70 11 40 00    	call   *0x401170
409ee5:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409ee8:	ff 15 8c 11 40 00    	call   *0x40118c
409eee:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
409ef3:	85 c0                	test   %eax,%eax
409ef5:	75 10                	jne    0x409f07
409ef7:	68 c8 d6 40 00       	push   $0x40d6c8
409efc:	68 28 8f 40 00       	push   $0x408f28
409f01:	ff 15 14 11 40 00    	call   *0x401114
409f07:	8b 3d c8 d6 40 00    	mov    0x40d6c8,%edi
409f0d:	8b 17                	mov    (%edi),%edx
409f0f:	8d 45 ac             	lea    -0x54(%ebp),%eax
409f12:	50                   	push   %eax
409f13:	57                   	push   %edi
409f14:	ff 52 14             	call   *0x14(%edx)
409f17:	db e2                	fnclex
409f19:	85 c0                	test   %eax,%eax
409f1b:	7d 0b                	jge    0x409f28
409f1d:	6a 14                	push   $0x14
409f1f:	68 18 8f 40 00       	push   $0x408f18
409f24:	57                   	push   %edi
409f25:	50                   	push   %eax
409f26:	ff d3                	call   *%ebx
409f28:	8b 45 ac             	mov    -0x54(%ebp),%eax
409f2b:	8b 08                	mov    (%eax),%ecx
409f2d:	8d 55 b0             	lea    -0x50(%ebp),%edx
409f30:	52                   	push   %edx
409f31:	50                   	push   %eax
409f32:	8b f8                	mov    %eax,%edi
409f34:	ff 51 50             	call   *0x50(%ecx)
409f37:	db e2                	fnclex
409f39:	85 c0                	test   %eax,%eax
409f3b:	7d 0b                	jge    0x409f48
409f3d:	6a 50                	push   $0x50
409f3f:	68 38 8f 40 00       	push   $0x408f38
409f44:	57                   	push   %edi
409f45:	50                   	push   %eax
409f46:	ff d3                	call   *%ebx
409f48:	8b 45 b0             	mov    -0x50(%ebp),%eax
409f4b:	50                   	push   %eax
409f4c:	6a 00                	push   $0x0
409f4e:	ff 15 90 10 40 00    	call   *0x401090
409f54:	8b f8                	mov    %eax,%edi
409f56:	f7 df                	neg    %edi
409f58:	1b ff                	sbb    %edi,%edi
409f5a:	47                   	inc    %edi
409f5b:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409f5e:	f7 df                	neg    %edi
409f60:	ff 15 90 11 40 00    	call   *0x401190
409f66:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409f69:	ff 15 8c 11 40 00    	call   *0x40118c
409f6f:	66 85 ff             	test   %di,%di
409f72:	74 41                	je     0x409fb5
409f74:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
409f7a:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409f7d:	c7 45 80 4c 8f 40 00 	movl   $0x408f4c,-0x80(%ebp)
409f84:	c7 85 78 ff ff ff 08 	movl   $0x8,-0x88(%ebp)
409f8b:	00 00 00
409f8e:	ff 15 60 11 40 00    	call   *0x401160
409f94:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409f97:	51                   	push   %ecx
409f98:	8d 55 88             	lea    -0x78(%ebp),%edx
409f9b:	52                   	push   %edx
409f9c:	ff 15 50 10 40 00    	call   *0x401050
409fa2:	8d 45 88             	lea    -0x78(%ebp),%eax
409fa5:	50                   	push   %eax
409fa6:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409fa9:	51                   	push   %ecx
409faa:	6a 02                	push   $0x2
409fac:	ff 15 20 10 40 00    	call   *0x401020
409fb2:	83 c4 0c             	add    $0xc,%esp
409fb5:	8d 55 98             	lea    -0x68(%ebp),%edx
409fb8:	52                   	push   %edx
409fb9:	c7 45 a0 04 00 02 80 	movl   $0x80020004,-0x60(%ebp)
409fc0:	c7 45 98 0a 00 00 00 	movl   $0xa,-0x68(%ebp)
409fc7:	ff 15 0c 11 40 00    	call   *0x40110c
409fcd:	8b d0                	mov    %eax,%edx
409fcf:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409fd2:	ff 15 70 11 40 00    	call   *0x401170
409fd8:	50                   	push   %eax
409fd9:	68 a0 8f 40 00       	push   $0x408fa0
409fde:	ff 15 90 10 40 00    	call   *0x401090
409fe4:	8b f8                	mov    %eax,%edi
409fe6:	f7 df                	neg    %edi
409fe8:	1b ff                	sbb    %edi,%edi
409fea:	47                   	inc    %edi
409feb:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409fee:	f7 df                	neg    %edi
409ff0:	ff 15 90 11 40 00    	call   *0x401190
409ff6:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409ff9:	ff 15 18 10 40 00    	call   *0x401018
409fff:	66 85 ff             	test   %di,%di
40a002:	74 33                	je     0x40a037
40a004:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40a00a:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a00d:	c7 45 80 c0 8f 40 00 	movl   $0x408fc0,-0x80(%ebp)
40a014:	c7 85 78 ff ff ff 08 	movl   $0x8,-0x88(%ebp)
40a01b:	00 00 00
40a01e:	ff 15 60 11 40 00    	call   *0x401160
40a024:	8d 45 98             	lea    -0x68(%ebp),%eax
40a027:	50                   	push   %eax
40a028:	ff 15 94 10 40 00    	call   *0x401094
40a02e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a031:	ff 15 18 10 40 00    	call   *0x401018
40a037:	8b 0e                	mov    (%esi),%ecx
40a039:	6a 01                	push   $0x1
40a03b:	56                   	push   %esi
40a03c:	ff 91 14 01 00 00    	call   *0x114(%ecx)
40a042:	db e2                	fnclex
40a044:	85 c0                	test   %eax,%eax
40a046:	7d 0e                	jge    0x40a056
40a048:	68 14 01 00 00       	push   $0x114
40a04d:	68 7c 8d 40 00       	push   $0x408d7c
40a052:	56                   	push   %esi
40a053:	50                   	push   %eax
40a054:	ff d3                	call   *%ebx
40a056:	8b 16                	mov    (%esi),%edx
40a058:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a05e:	50                   	push   %eax
40a05f:	56                   	push   %esi
40a060:	ff 92 10 01 00 00    	call   *0x110(%edx)
40a066:	db e2                	fnclex
40a068:	85 c0                	test   %eax,%eax
40a06a:	7d 0e                	jge    0x40a07a
40a06c:	68 10 01 00 00       	push   $0x110
40a071:	68 7c 8d 40 00       	push   $0x408d7c
40a076:	56                   	push   %esi
40a077:	50                   	push   %eax
40a078:	ff d3                	call   *%ebx
40a07a:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40a081:	00
40a082:	0f 85 dd 00 00 00    	jne    0x40a165
40a088:	6a 00                	push   $0x0
40a08a:	68 e4 8f 40 00       	push   $0x408fe4
40a08f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a092:	51                   	push   %ecx
40a093:	8d 55 98             	lea    -0x68(%ebp),%edx
40a096:	52                   	push   %edx
40a097:	ff 15 64 11 40 00    	call   *0x401164
40a09d:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40a0a2:	83 c4 10             	add    $0x10,%esp
40a0a5:	85 c0                	test   %eax,%eax
40a0a7:	75 10                	jne    0x40a0b9
40a0a9:	68 c8 d6 40 00       	push   $0x40d6c8
40a0ae:	68 28 8f 40 00       	push   $0x408f28
40a0b3:	ff 15 14 11 40 00    	call   *0x401114
40a0b9:	8b 3d c8 d6 40 00    	mov    0x40d6c8,%edi
40a0bf:	8b 07                	mov    (%edi),%eax
40a0c1:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40a0c4:	51                   	push   %ecx
40a0c5:	57                   	push   %edi
40a0c6:	ff 50 1c             	call   *0x1c(%eax)
40a0c9:	db e2                	fnclex
40a0cb:	85 c0                	test   %eax,%eax
40a0cd:	7d 0b                	jge    0x40a0da
40a0cf:	6a 1c                	push   $0x1c
40a0d1:	68 18 8f 40 00       	push   $0x408f18
40a0d6:	57                   	push   %edi
40a0d7:	50                   	push   %eax
40a0d8:	ff d3                	call   *%ebx
40a0da:	8b 7d ac             	mov    -0x54(%ebp),%edi
40a0dd:	83 ec 10             	sub    $0x10,%esp
40a0e0:	8b d4                	mov    %esp,%edx
40a0e2:	b9 02 00 00 00       	mov    $0x2,%ecx
40a0e7:	89 0a                	mov    %ecx,(%edx)
40a0e9:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
40a0ef:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
40a0f5:	89 4a 04             	mov    %ecx,0x4(%edx)
40a0f8:	b8 01 00 00 00       	mov    $0x1,%eax
40a0fd:	89 45 80             	mov    %eax,-0x80(%ebp)
40a100:	8b 1f                	mov    (%edi),%ebx
40a102:	89 42 08             	mov    %eax,0x8(%edx)
40a105:	8b 45 84             	mov    -0x7c(%ebp),%eax
40a108:	68 20 90 40 00       	push   $0x409020
40a10d:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a110:	51                   	push   %ecx
40a111:	89 42 0c             	mov    %eax,0xc(%edx)
40a114:	ff 15 b4 10 40 00    	call   *0x4010b4
40a11a:	50                   	push   %eax
40a11b:	8d 55 a8             	lea    -0x58(%ebp),%edx
40a11e:	52                   	push   %edx
40a11f:	ff 15 60 10 40 00    	call   *0x401060
40a125:	50                   	push   %eax
40a126:	57                   	push   %edi
40a127:	ff 53 58             	call   *0x58(%ebx)
40a12a:	db e2                	fnclex
40a12c:	85 c0                	test   %eax,%eax
40a12e:	7d 13                	jge    0x40a143
40a130:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40a136:	6a 58                	push   $0x58
40a138:	68 30 90 40 00       	push   $0x409030
40a13d:	57                   	push   %edi
40a13e:	50                   	push   %eax
40a13f:	ff d3                	call   *%ebx
40a141:	eb 06                	jmp    0x40a149
40a143:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40a149:	8d 45 ac             	lea    -0x54(%ebp),%eax
40a14c:	50                   	push   %eax
40a14d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a150:	51                   	push   %ecx
40a151:	6a 02                	push   $0x2
40a153:	ff 15 28 10 40 00    	call   *0x401028
40a159:	83 c4 0c             	add    $0xc,%esp
40a15c:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a15f:	ff 15 18 10 40 00    	call   *0x401018
40a165:	b9 0c 00 00 00       	mov    $0xc,%ecx
40a16a:	c7 85 58 ff ff ff 00 	movl   $0xb8800000,-0xa8(%ebp)
40a171:	00 80 b8
40a174:	c7 85 5c ff ff ff 33 	movl   $0x4202a233,-0xa4(%ebp)
40a17b:	a2 02 42
40a17e:	ff 15 cc 10 40 00    	call   *0x4010cc
40a184:	8b 16                	mov    (%esi),%edx
40a186:	68 94 a4 02 42       	push   $0x4202a494
40a18b:	68 00 00 10 b5       	push   $0xb5100000
40a190:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
40a196:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40a19c:	50                   	push   %eax
40a19d:	68 f7 5a 00 00       	push   $0x5af7