406ddc:	68 64 01 00 00       	push   $0x164
406de1:	e8 c2 44 01 00       	call   0x41b2a8
406de6:	59                   	pop    %ecx
406de7:	8b c8                	mov    %eax,%ecx
406de9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406dec:	33 c0                	xor    %eax,%eax
406dee:	89 45 fc             	mov    %eax,-0x4(%ebp)
406df1:	85 c9                	test   %ecx,%ecx
406df3:	74 05                	je     0x406dfa
406df5:	e8 2c 00 00 00       	call   0x406e26
406dfa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406dfe:	e8 03 56 01 00       	call   0x41c406
406e03:	c3                   	ret
406e04:	cc                   	int3
406e05:	cc                   	int3
406e06:	cc                   	int3
406e07:	cc                   	int3
406e08:	cc                   	int3
406e09:	cc                   	int3
406e0a:	cc                   	int3
406e0b:	cc                   	int3
406e0c:	cc                   	int3
406e0d:	cc                   	int3
406e0e:	cc                   	int3
406e0f:	cc                   	int3
406e10:	b8 18 21 40 00       	mov    $0x402118,%eax
406e15:	c3                   	ret
406e16:	cc                   	int3
406e17:	cc                   	int3
406e18:	cc                   	int3
406e19:	cc                   	int3
406e1a:	cc                   	int3
406e1b:	cc                   	int3
406e1c:	cc                   	int3
406e1d:	cc                   	int3
406e1e:	cc                   	int3
406e1f:	cc                   	int3
406e20:	b8 78 14 40 00       	mov    $0x401478,%eax
406e25:	c3                   	ret
406e26:	6a 04                	push   $0x4
406e28:	b8 0d c7 41 00       	mov    $0x41c70d,%eax
406e2d:	e8 06 56 01 00       	call   0x41c438
406e32:	8b f1                	mov    %ecx,%esi
406e34:	89 75 f0             	mov    %esi,-0x10(%ebp)
406e37:	68 5d 02 00 00       	push   $0x25d
406e3c:	e8 45 71 00 00       	call   0x40df86
406e41:	33 ff                	xor    %edi,%edi
406e43:	89 7d fc             	mov    %edi,-0x4(%ebp)
406e46:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
406e4c:	c7 06 7c 13 40 00    	movl   $0x40137c,(%esi)
406e52:	ff 15 40 32 42 00    	call   *0x423240
406e58:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406e5c:	8d 8e a4 00 00 00    	lea    0xa4(%esi),%ecx
406e62:	e8 45 07 00 00       	call   0x4075ac
406e67:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406e6b:	8d 8e e4 00 00 00    	lea    0xe4(%esi),%ecx
406e71:	e8 bc 06 00 00       	call   0x407532
406e76:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
406e7a:	8d 8e 24 01 00 00    	lea    0x124(%esi),%ecx
406e80:	e8 5d 06 00 00       	call   0x4074e2
406e85:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406e89:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
406e8f:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
406e95:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
406e9b:	89 be a0 00 00 00    	mov    %edi,0xa0(%esi)
406ea1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406ea5:	8b c6                	mov    %esi,%eax
406ea7:	e8 5a 55 01 00       	call   0x41c406
406eac:	c3                   	ret
406ead:	cc                   	int3
406eae:	cc                   	int3
406eaf:	cc                   	int3
406eb0:	8b ff                	mov    %edi,%edi
406eb2:	55                   	push   %ebp
406eb3:	8b ec                	mov    %esp,%ebp
406eb5:	56                   	push   %esi
406eb6:	8b f1                	mov    %ecx,%esi
406eb8:	e8 14 00 00 00       	call   0x406ed1
406ebd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406ec1:	74 07                	je     0x406eca
406ec3:	56                   	push   %esi
406ec4:	e8 da 43 01 00       	call   0x41b2a3
406ec9:	59                   	pop    %ecx
406eca:	8b c6                	mov    %esi,%eax
406ecc:	5e                   	pop    %esi
406ecd:	5d                   	pop    %ebp
406ece:	c2 04 00             	ret    $0x4
406ed1:	8b ff                	mov    %edi,%edi
406ed3:	55                   	push   %ebp
406ed4:	8b ec                	mov    %esp,%ebp
406ed6:	6a ff                	push   $0xffffffff
406ed8:	68 6c c7 41 00       	push   $0x41c76c
406edd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406ee3:	50                   	push   %eax
406ee4:	51                   	push   %ecx
406ee5:	56                   	push   %esi
406ee6:	a1 e4 05 42 00       	mov    0x4205e4,%eax
406eeb:	33 c5                	xor    %ebp,%eax
406eed:	50                   	push   %eax
406eee:	8d 45 f4             	lea    -0xc(%ebp),%eax
406ef1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406ef7:	8b f1                	mov    %ecx,%esi
406ef9:	89 75 f0             	mov    %esi,-0x10(%ebp)
406efc:	c7 06 7c 13 40 00    	movl   $0x40137c,(%esi)
406f02:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
406f09:	8d 8e 24 01 00 00    	lea    0x124(%esi),%ecx
406f0f:	ff 15 6c 33 42 00    	call   *0x42336c
406f15:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406f19:	8d 8e e4 00 00 00    	lea    0xe4(%esi),%ecx
406f1f:	ff 15 58 33 42 00    	call   *0x423358
406f25:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406f29:	8d 8e a4 00 00 00    	lea    0xa4(%esi),%ecx
406f2f:	ff 15 48 33 42 00    	call   *0x423348
406f35:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406f39:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
406f3f:	ff 15 44 32 42 00    	call   *0x423244
406f45:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406f49:	8b ce                	mov    %esi,%ecx
406f4b:	e8 91 70 00 00       	call   0x40dfe1
406f50:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406f53:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406f5a:	59                   	pop    %ecx
406f5b:	5e                   	pop    %esi
406f5c:	c9                   	leave
406f5d:	c3                   	ret
406f5e:	cc                   	int3
406f5f:	cc                   	int3
406f60:	8b ff                	mov    %edi,%edi
406f62:	55                   	push   %ebp
406f63:	8b ec                	mov    %esp,%ebp
406f65:	56                   	push   %esi
406f66:	8b f1                	mov    %ecx,%esi
406f68:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
406f6e:	50                   	push   %eax
406f6f:	68 02 04 00 00       	push   $0x402
406f74:	ff 75 08             	push   0x8(%ebp)
406f77:	ff 15 70 33 42 00    	call   *0x423370
406f7d:	8d 86 e4 00 00 00    	lea    0xe4(%esi),%eax
406f83:	50                   	push   %eax
406f84:	68 f8 03 00 00       	push   $0x3f8
406f89:	ff 75 08             	push   0x8(%ebp)
406f8c:	ff 15 70 33 42 00    	call   *0x423370
406f92:	8d 86 24 01 00 00    	lea    0x124(%esi),%eax
406f98:	50                   	push   %eax
406f99:	68 f7 03 00 00       	push   $0x3f7
406f9e:	ff 75 08             	push   0x8(%ebp)
406fa1:	ff 15 70 33 42 00    	call   *0x423370
406fa7:	5e                   	pop    %esi
406fa8:	5d                   	pop    %ebp
406fa9:	c2 04 00             	ret    $0x4
406fac:	cc                   	int3
406fad:	cc                   	int3
406fae:	cc                   	int3
406faf:	cc                   	int3
406fb0:	b8 10 21 40 00       	mov    $0x402110,%eax
406fb5:	c3                   	ret
406fb6:	cc                   	int3
406fb7:	cc                   	int3
406fb8:	cc                   	int3
406fb9:	cc                   	int3
406fba:	cc                   	int3
406fbb:	cc                   	int3
406fbc:	cc                   	int3
406fbd:	cc                   	int3
406fbe:	cc                   	int3
406fbf:	cc                   	int3
406fc0:	b8 1c 11 40 00       	mov    $0x40111c,%eax
406fc5:	c3                   	ret
406fc6:	6a 50                	push   $0x50
406fc8:	b8 99 c7 41 00       	mov    $0x41c799,%eax
406fcd:	e8 99 54 01 00       	call   0x41c46b
406fd2:	8b f9                	mov    %ecx,%edi
406fd4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406fd7:	ff 15 40 32 42 00    	call   *0x423240
406fdd:	33 db                	xor    %ebx,%ebx
406fdf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
406fe2:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406fe5:	ff 15 40 32 42 00    	call   *0x423240
406feb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406fef:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406ff2:	6a 6f                	push   $0x6f
406ff4:	ff 15 74 33 42 00    	call   *0x423374
406ffa:	6a 70                	push   $0x70
406ffc:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406fff:	ff 15 74 33 42 00    	call   *0x423374
407005:	8d 45 e0             	lea    -0x20(%ebp),%eax
407008:	50                   	push   %eax
407009:	ff b7 44 01 00 00    	push   0x144(%edi)
40700f:	ff 15 3c 34 42 00    	call   *0x42343c
407015:	8b 45 e8             	mov    -0x18(%ebp),%eax
407018:	2b 45 e0             	sub    -0x20(%ebp),%eax
40701b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40701e:	db 45 d4             	fildl  -0x2c(%ebp)
407021:	89 5d b0             	mov    %ebx,-0x50(%ebp)
407024:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
407027:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40702a:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40702d:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
407030:	89 5d c8             	mov    %ebx,-0x38(%ebp)
407033:	89 5d cc             	mov    %ebx,-0x34(%ebp)
407036:	c7 45 a4 0f 00 00 00 	movl   $0xf,-0x5c(%ebp)
40703d:	89 5d a8             	mov    %ebx,-0x58(%ebp)
407040:	89 5d b8             	mov    %ebx,-0x48(%ebp)
407043:	dd 5d d0             	fstpl  -0x30(%ebp)
407046:	dd 45 d0             	fldl   -0x30(%ebp)
407049:	dc 0d 78 62 40 00    	fmull  0x406278
40704f:	e8 bb 55 01 00       	call   0x41c60f
407054:	89 45 ac             	mov    %eax,-0x54(%ebp)
407057:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40705a:	8b 45 d8             	mov    -0x28(%ebp),%eax
40705d:	8b 40 f8             	mov    -0x8(%eax),%eax
407060:	40                   	inc    %eax
407061:	50                   	push   %eax
407062:	ff 15 78 33 42 00    	call   *0x423378
407068:	8b 8f 44 01 00 00    	mov    0x144(%edi),%ecx
40706e:	85 c0                	test   %eax,%eax
407070:	89 45 b0             	mov    %eax,-0x50(%ebp)
407073:	be 61 10 00 00       	mov    $0x1061,%esi
407078:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40707b:	50                   	push   %eax
40707c:	53                   	push   %ebx
40707d:	56                   	push   %esi
40707e:	51                   	push   %ecx
40707f:	74 13                	je     0x407094
407081:	ff 15 40 34 42 00    	call   *0x423440
407087:	6a ff                	push   $0xffffffff
407089:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40708c:	ff 15 7c 33 42 00    	call   *0x42337c
407092:	eb 0d                	jmp    0x4070a1
407094:	c7 45 b0 34 1f 42 00 	movl   $0x421f34,-0x50(%ebp)
40709b:	ff 15 40 34 42 00    	call   *0x423440
4070a1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4070a4:	2b 45 e0             	sub    -0x20(%ebp),%eax
4070a7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4070aa:	db 45 d4             	fildl  -0x2c(%ebp)
4070ad:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
4070b4:	dd 5d d0             	fstpl  -0x30(%ebp)
4070b7:	dd 45 d0             	fldl   -0x30(%ebp)
4070ba:	dc 0d a0 62 40 00    	fmull  0x4062a0
4070c0:	e8 4a 55 01 00       	call   0x41c60f
4070c5:	89 45 ac             	mov    %eax,-0x54(%ebp)
4070c8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4070cb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4070ce:	8b 40 f8             	mov    -0x8(%eax),%eax
4070d1:	40                   	inc    %eax
4070d2:	50                   	push   %eax
4070d3:	ff 15 78 33 42 00    	call   *0x423378
4070d9:	8b 8f 44 01 00 00    	mov    0x144(%edi),%ecx
4070df:	85 c0                	test   %eax,%eax
4070e1:	89 45 b0             	mov    %eax,-0x50(%ebp)
4070e4:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4070e7:	50                   	push   %eax
4070e8:	6a 01                	push   $0x1
4070ea:	56                   	push   %esi
4070eb:	51                   	push   %ecx
4070ec:	74 13                	je     0x407101
4070ee:	ff 15 40 34 42 00    	call   *0x423440
4070f4:	6a ff                	push   $0xffffffff
4070f6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4070f9:	ff 15 7c 33 42 00    	call   *0x42337c
4070ff:	eb 0d                	jmp    0x40710e
407101:	c7 45 b0 34 1f 42 00 	movl   $0x421f34,-0x50(%ebp)
407108:	ff 15 40 34 42 00    	call   *0x423440
40710e:	88 5d fc             	mov    %bl,-0x4(%ebp)
407111:	8d 4d dc             	lea    -0x24(%ebp),%ecx
407114:	ff 15 44 32 42 00    	call   *0x423244
40711a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40711e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407121:	ff 15 44 32 42 00    	call   *0x423244
407127:	e8 ee 52 01 00       	call   0x41c41a
40712c:	c3                   	ret
40712d:	8b ff                	mov    %edi,%edi
40712f:	55                   	push   %ebp
407130:	8b ec                	mov    %esp,%ebp
407132:	83 ec 3c             	sub    $0x3c,%esp
407135:	53                   	push   %ebx
407136:	56                   	push   %esi
407137:	57                   	push   %edi
407138:	6a 3c                	push   $0x3c
40713a:	33 db                	xor    %ebx,%ebx
40713c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40713f:	53                   	push   %ebx
407140:	50                   	push   %eax
407141:	8b f9                	mov    %ecx,%edi
407143:	e8 d9 54 01 00       	call   0x41c621
407148:	8b 75 0c             	mov    0xc(%ebp),%esi
40714b:	83 c4 0c             	add    $0xc,%esp
40714e:	8b 46 08             	mov    0x8(%esi),%eax
407151:	8d 4e 08             	lea    0x8(%esi),%ecx
407154:	8b 40 f8             	mov    -0x8(%eax),%eax
407157:	40                   	inc    %eax
407158:	50                   	push   %eax
407159:	ff 15 78 33 42 00    	call   *0x423378
40715f:	89 45 d8             	mov    %eax,-0x28(%ebp)
407162:	85 c0                	test   %eax,%eax
407164:	0f 84 93 00 00 00    	je     0x4071fd
40716a:	8b 45 08             	mov    0x8(%ebp),%eax
40716d:	53                   	push   %ebx
40716e:	53                   	push   %ebx
40716f:	68 04 10 00 00       	push   $0x1004
407174:	ff b7 44 01 00 00    	push   0x144(%edi)
40717a:	c7 45 c4 05 00 00 00 	movl   $0x5,-0x3c(%ebp)
407181:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407184:	ff 15 40 34 42 00    	call   *0x423440
40718a:	89 45 c8             	mov    %eax,-0x38(%ebp)
40718d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
407190:	50                   	push   %eax
407191:	53                   	push   %ebx
407192:	68 4d 10 00 00       	push   $0x104d
407197:	ff b7 44 01 00 00    	push   0x144(%edi)
40719d:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4071a0:	ff 15 40 34 42 00    	call   *0x423440
4071a6:	6a ff                	push   $0xffffffff
4071a8:	8d 4e 08             	lea    0x8(%esi),%ecx
4071ab:	8b d8                	mov    %eax,%ebx
4071ad:	ff 15 7c 33 42 00    	call   *0x42337c
4071b3:	85 db                	test   %ebx,%ebx
4071b5:	78 46                	js     0x4071fd
4071b7:	8b 4e 28             	mov    0x28(%esi),%ecx
4071ba:	8b 41 f8             	mov    -0x8(%ecx),%eax
4071bd:	8d 4e 28             	lea    0x28(%esi),%ecx
4071c0:	40                   	inc    %eax
4071c1:	50                   	push   %eax
4071c2:	ff 15 78 33 42 00    	call   *0x423378
4071c8:	89 45 d8             	mov    %eax,-0x28(%ebp)
4071cb:	85 c0                	test   %eax,%eax
4071cd:	74 2e                	je     0x4071fd
4071cf:	33 c0                	xor    %eax,%eax
4071d1:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4071d4:	40                   	inc    %eax
4071d5:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4071d8:	89 45 cc             	mov    %eax,-0x34(%ebp)
4071db:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4071de:	50                   	push   %eax
4071df:	6a 00                	push   $0x0
4071e1:	68 4c 10 00 00       	push   $0x104c
4071e6:	ff b7 44 01 00 00    	push   0x144(%edi)
4071ec:	ff 15 40 34 42 00    	call   *0x423440
4071f2:	6a ff                	push   $0xffffffff
4071f4:	8d 4e 28             	lea    0x28(%esi),%ecx
4071f7:	ff 15 7c 33 42 00    	call   *0x42337c
4071fd:	5f                   	pop    %edi
4071fe:	5e                   	pop    %esi
4071ff:	5b                   	pop    %ebx
407200:	c9                   	leave
407201:	c2 08 00             	ret    $0x8
407204:	cc                   	int3
407205:	cc                   	int3
407206:	cc                   	int3
407207:	cc                   	int3