452d32:	b0 01                	mov    $0x1,%al
452d34:	84 c0                	test   %al,%al
452d36:	74 69                	je     0x452da1
452d38:	8b 85 3c fc ff ff    	mov    -0x3c4(%ebp),%eax
452d3e:	2b 85 40 fc ff ff    	sub    -0x3c0(%ebp),%eax
452d44:	89 85 3c fc ff ff    	mov    %eax,-0x3c4(%ebp)
452d4a:	0f 85 e4 fb ff ff    	jne    0x452934
452d50:	8b 8d 48 fc ff ff    	mov    -0x3b8(%ebp),%ecx
452d56:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
452d59:	8b 4d 0c             	mov    0xc(%ebp),%ecx
452d5c:	03 c0                	add    %eax,%eax
452d5e:	2b c8                	sub    %eax,%ecx
452d60:	74 2c                	je     0x452d8e
452d62:	8b 1c 8d c4 c7 49 00 	mov    0x49c7c4(,%ecx,4),%ebx
452d69:	85 db                	test   %ebx,%ebx
452d6b:	75 71                	jne    0x452dde
452d6d:	53                   	push   %ebx
452d6e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
452d74:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
452d7a:	50                   	push   %eax
452d7b:	8d 47 04             	lea    0x4(%edi),%eax
452d7e:	89 1f                	mov    %ebx,(%edi)
452d80:	68 cc 01 00 00       	push   $0x1cc
452d85:	50                   	push   %eax
452d86:	e8 17 09 00 00       	call   0x4536a2
452d8b:	83 c4 10             	add    $0x10,%esp
452d8e:	5f                   	pop    %edi
452d8f:	5e                   	pop    %esi
452d90:	b0 01                	mov    $0x1,%al
452d92:	5b                   	pop    %ebx
452d93:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452d96:	33 cd                	xor    %ebp,%ecx
452d98:	e8 65 cc fe ff       	call   0x43fa02
452d9d:	8b e5                	mov    %ebp,%esp
452d9f:	5d                   	pop    %ebp
452da0:	c3                   	ret
452da1:	6a 00                	push   $0x0
452da3:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
452da9:	c7 85 2c fe ff ff 00 	movl   $0x0,-0x1d4(%ebp)
452db0:	00 00 00
452db3:	50                   	push   %eax
452db4:	8d 47 04             	lea    0x4(%edi),%eax
452db7:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
452dbd:	68 cc 01 00 00       	push   $0x1cc
452dc2:	50                   	push   %eax
452dc3:	e8 da 08 00 00       	call   0x4536a2
452dc8:	83 c4 10             	add    $0x10,%esp
452dcb:	32 c0                	xor    %al,%al
452dcd:	5f                   	pop    %edi
452dce:	5e                   	pop    %esi
452dcf:	5b                   	pop    %ebx
452dd0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452dd3:	33 cd                	xor    %ebp,%ecx
452dd5:	e8 28 cc fe ff       	call   0x43fa02
452dda:	8b e5                	mov    %ebp,%esp
452ddc:	5d                   	pop    %ebp
452ddd:	c3                   	ret
452dde:	83 fb 01             	cmp    $0x1,%ebx
452de1:	74 ab                	je     0x452d8e
452de3:	8b 07                	mov    (%edi),%eax
452de5:	89 85 48 fc ff ff    	mov    %eax,-0x3b8(%ebp)
452deb:	85 c0                	test   %eax,%eax
452ded:	74 9f                	je     0x452d8e
452def:	8d 57 04             	lea    0x4(%edi),%edx
452df2:	33 f6                	xor    %esi,%esi
452df4:	89 95 4c fc ff ff    	mov    %edx,-0x3b4(%ebp)
452dfa:	33 c9                	xor    %ecx,%ecx
452dfc:	8b f8                	mov    %eax,%edi
452dfe:	8b ff                	mov    %edi,%edi
452e00:	8b c3                	mov    %ebx,%eax
452e02:	f7 24 8a             	mull   (%edx,%ecx,4)
452e05:	03 c6                	add    %esi,%eax
452e07:	83 d2 00             	adc    $0x0,%edx
452e0a:	8b f2                	mov    %edx,%esi
452e0c:	8b 95 4c fc ff ff    	mov    -0x3b4(%ebp),%edx
452e12:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
452e15:	41                   	inc    %ecx
452e16:	3b cf                	cmp    %edi,%ecx
452e18:	75 e6                	jne    0x452e00
452e1a:	8b bd 58 fc ff ff    	mov    -0x3a8(%ebp),%edi
452e20:	85 f6                	test   %esi,%esi
452e22:	0f 84 66 ff ff ff    	je     0x452d8e
452e28:	8b 07                	mov    (%edi),%eax
452e2a:	83 f8 73             	cmp    $0x73,%eax
452e2d:	73 19                	jae    0x452e48
452e2f:	89 74 87 04          	mov    %esi,0x4(%edi,%eax,4)
452e33:	b0 01                	mov    $0x1,%al
452e35:	ff 07                	incl   (%edi)
452e37:	5f                   	pop    %edi
452e38:	5e                   	pop    %esi
452e39:	5b                   	pop    %ebx
452e3a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452e3d:	33 cd                	xor    %ebp,%ecx
452e3f:	e8 be cb fe ff       	call   0x43fa02
452e44:	8b e5                	mov    %ebp,%esp
452e46:	5d                   	pop    %ebp
452e47:	c3                   	ret
452e48:	6a 00                	push   $0x0
452e4a:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
452e50:	c7 85 2c fe ff ff 00 	movl   $0x0,-0x1d4(%ebp)
452e57:	00 00 00
452e5a:	50                   	push   %eax
452e5b:	68 cc 01 00 00       	push   $0x1cc
452e60:	52                   	push   %edx
452e61:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
452e67:	e8 36 08 00 00       	call   0x4536a2
452e6c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452e6f:	83 c4 10             	add    $0x10,%esp
452e72:	33 cd                	xor    %ebp,%ecx
452e74:	32 c0                	xor    %al,%al
452e76:	5f                   	pop    %edi
452e77:	5e                   	pop    %esi
452e78:	5b                   	pop    %ebx
452e79:	e8 84 cb fe ff       	call   0x43fa02
452e7e:	8b e5                	mov    %ebp,%esp
452e80:	5d                   	pop    %ebp
452e81:	c3                   	ret
452e82:	cc                   	int3
452e83:	cc                   	int3
452e84:	cc                   	int3
452e85:	cc                   	int3
452e86:	cc                   	int3
452e87:	cc                   	int3
452e88:	cc                   	int3
452e89:	cc                   	int3
452e8a:	cc                   	int3
452e8b:	cc                   	int3
452e8c:	cc                   	int3
452e8d:	cc                   	int3
452e8e:	cc                   	int3
452e8f:	cc                   	int3
452e90:	8b ff                	mov    %edi,%edi
452e92:	55                   	push   %ebp
452e93:	8b ec                	mov    %esp,%ebp
452e95:	56                   	push   %esi
452e96:	57                   	push   %edi
452e97:	8b 7d 0c             	mov    0xc(%ebp),%edi
452e9a:	33 f6                	xor    %esi,%esi
452e9c:	33 c9                	xor    %ecx,%ecx
452e9e:	85 ff                	test   %edi,%edi
452ea0:	74 26                	je     0x452ec8
452ea2:	8b 55 08             	mov    0x8(%ebp),%edx
452ea5:	53                   	push   %ebx
452ea6:	8b 5d 10             	mov    0x10(%ebp),%ebx
452ea9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
452eb0:	8b c3                	mov    %ebx,%eax
452eb2:	f7 24 8a             	mull   (%edx,%ecx,4)
452eb5:	03 c6                	add    %esi,%eax
452eb7:	83 d2 00             	adc    $0x0,%edx
452eba:	8b f2                	mov    %edx,%esi
452ebc:	8b 55 08             	mov    0x8(%ebp),%edx
452ebf:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
452ec2:	41                   	inc    %ecx
452ec3:	3b cf                	cmp    %edi,%ecx
452ec5:	75 e9                	jne    0x452eb0
452ec7:	5b                   	pop    %ebx
452ec8:	5f                   	pop    %edi
452ec9:	8b c6                	mov    %esi,%eax
452ecb:	5e                   	pop    %esi
452ecc:	5d                   	pop    %ebp
452ecd:	c3                   	ret
452ece:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
452ed2:	74 09                	je     0x452edd
452ed4:	83 c8 ff             	or     $0xffffffff,%eax
452ed7:	ba ff ff 1f 00       	mov    $0x1fffff,%edx
452edc:	c3                   	ret
452edd:	b8 ff ff ff 00       	mov    $0xffffff,%eax
452ee2:	33 d2                	xor    %edx,%edx
452ee4:	c3                   	ret
452ee5:	8b ff                	mov    %edi,%edi
452ee7:	55                   	push   %ebp
452ee8:	8b ec                	mov    %esp,%ebp
452eea:	8a 4d 08             	mov    0x8(%ebp),%cl
452eed:	8d 41 d0             	lea    -0x30(%ecx),%eax
452ef0:	3c 09                	cmp    $0x9,%al
452ef2:	77 08                	ja     0x452efc
452ef4:	0f be c1             	movsbl %cl,%eax
452ef7:	83 e8 30             	sub    $0x30,%eax
452efa:	5d                   	pop    %ebp
452efb:	c3                   	ret
452efc:	8d 41 9f             	lea    -0x61(%ecx),%eax
452eff:	3c 19                	cmp    $0x19,%al
452f01:	77 08                	ja     0x452f0b
452f03:	0f be c1             	movsbl %cl,%eax
452f06:	83 e8 57             	sub    $0x57,%eax
452f09:	5d                   	pop    %ebp
452f0a:	c3                   	ret
452f0b:	8d 41 bf             	lea    -0x41(%ecx),%eax
452f0e:	3c 19                	cmp    $0x19,%al
452f10:	77 08                	ja     0x452f1a
452f12:	0f be c1             	movsbl %cl,%eax
452f15:	83 e8 37             	sub    $0x37,%eax
452f18:	5d                   	pop    %ebp
452f19:	c3                   	ret
452f1a:	83 c8 ff             	or     $0xffffffff,%eax
452f1d:	5d                   	pop    %ebp
452f1e:	c3                   	ret
452f1f:	8b ff                	mov    %edi,%edi
452f21:	55                   	push   %ebp
452f22:	8b ec                	mov    %esp,%ebp
452f24:	8b 4d 08             	mov    0x8(%ebp),%ecx
452f27:	6a 30                	push   $0x30
452f29:	5a                   	pop    %edx
452f2a:	66 3b ca             	cmp    %dx,%cx
452f2d:	0f 82 9f 01 00 00    	jb     0x4530d2
452f33:	66 83 f9 3a          	cmp    $0x3a,%cx
452f37:	73 0a                	jae    0x452f43
452f39:	0f b7 c1             	movzwl %cx,%eax
452f3c:	2b c2                	sub    %edx,%eax
452f3e:	e9 8a 01 00 00       	jmp    0x4530cd
452f43:	ba 10 ff 00 00       	mov    $0xff10,%edx
452f48:	66 3b ca             	cmp    %dx,%cx
452f4b:	0f 83 6b 01 00 00    	jae    0x4530bc
452f51:	ba 60 06 00 00       	mov    $0x660,%edx
452f56:	66 3b ca             	cmp    %dx,%cx
452f59:	0f 82 73 01 00 00    	jb     0x4530d2
452f5f:	8d 42 0a             	lea    0xa(%edx),%eax
452f62:	66 3b c8             	cmp    %ax,%cx
452f65:	72 d2                	jb     0x452f39
452f67:	ba f0 06 00 00       	mov    $0x6f0,%edx
452f6c:	66 3b ca             	cmp    %dx,%cx
452f6f:	0f 82 5d 01 00 00    	jb     0x4530d2
452f75:	8d 42 0a             	lea    0xa(%edx),%eax
452f78:	66 3b c8             	cmp    %ax,%cx
452f7b:	72 bc                	jb     0x452f39
452f7d:	ba 66 09 00 00       	mov    $0x966,%edx
452f82:	66 3b ca             	cmp    %dx,%cx
452f85:	0f 82 47 01 00 00    	jb     0x4530d2
452f8b:	8d 42 0a             	lea    0xa(%edx),%eax
452f8e:	66 3b c8             	cmp    %ax,%cx
452f91:	72 a6                	jb     0x452f39
452f93:	8d 50 76             	lea    0x76(%eax),%edx
452f96:	66 3b ca             	cmp    %dx,%cx
452f99:	0f 82 33 01 00 00    	jb     0x4530d2
452f9f:	8d 42 0a             	lea    0xa(%edx),%eax
452fa2:	66 3b c8             	cmp    %ax,%cx
452fa5:	72 92                	jb     0x452f39
452fa7:	8d 50 76             	lea    0x76(%eax),%edx
452faa:	66 3b ca             	cmp    %dx,%cx
452fad:	0f 82 1f 01 00 00    	jb     0x4530d2
452fb3:	8d 42 0a             	lea    0xa(%edx),%eax
452fb6:	66 3b c8             	cmp    %ax,%cx
452fb9:	0f 82 7a ff ff ff    	jb     0x452f39
452fbf:	8d 50 76             	lea    0x76(%eax),%edx
452fc2:	66 3b ca             	cmp    %dx,%cx
452fc5:	0f 82 07 01 00 00    	jb     0x4530d2
452fcb:	8d 42 0a             	lea    0xa(%edx),%eax
452fce:	66 3b c8             	cmp    %ax,%cx
452fd1:	0f 82 62 ff ff ff    	jb     0x452f39
452fd7:	8d 50 76             	lea    0x76(%eax),%edx
452fda:	66 3b ca             	cmp    %dx,%cx
452fdd:	0f 82 ef 00 00 00    	jb     0x4530d2
452fe3:	8d 42 0a             	lea    0xa(%edx),%eax
452fe6:	66 3b c8             	cmp    %ax,%cx
452fe9:	0f 82 4a ff ff ff    	jb     0x452f39
452fef:	ba 66 0c 00 00       	mov    $0xc66,%edx
452ff4:	66 3b ca             	cmp    %dx,%cx
452ff7:	0f 82 d5 00 00 00    	jb     0x4530d2
452ffd:	8d 42 0a             	lea    0xa(%edx),%eax
453000:	66 3b c8             	cmp    %ax,%cx
453003:	0f 82 30 ff ff ff    	jb     0x452f39
453009:	8d 50 76             	lea    0x76(%eax),%edx
45300c:	66 3b ca             	cmp    %dx,%cx
45300f:	0f 82 bd 00 00 00    	jb     0x4530d2
453015:	8d 42 0a             	lea    0xa(%edx),%eax
453018:	66 3b c8             	cmp    %ax,%cx
45301b:	0f 82 18 ff ff ff    	jb     0x452f39
453021:	8d 50 76             	lea    0x76(%eax),%edx
453024:	66 3b ca             	cmp    %dx,%cx
453027:	0f 82 a5 00 00 00    	jb     0x4530d2
45302d:	8d 42 0a             	lea    0xa(%edx),%eax
453030:	66 3b c8             	cmp    %ax,%cx
453033:	0f 82 00 ff ff ff    	jb     0x452f39
453039:	ba 50 0e 00 00       	mov    $0xe50,%edx
45303e:	66 3b ca             	cmp    %dx,%cx
453041:	0f 82 8b 00 00 00    	jb     0x4530d2
453047:	8d 42 0a             	lea    0xa(%edx),%eax
45304a:	66 3b c8             	cmp    %ax,%cx
45304d:	0f 82 e6 fe ff ff    	jb     0x452f39
453053:	8d 50 76             	lea    0x76(%eax),%edx
453056:	66 3b ca             	cmp    %dx,%cx
453059:	72 77                	jb     0x4530d2
45305b:	8d 42 0a             	lea    0xa(%edx),%eax
45305e:	66 3b c8             	cmp    %ax,%cx
453061:	0f 82 d2 fe ff ff    	jb     0x452f39
453067:	83 c2 50             	add    $0x50,%edx
45306a:	66 3b ca             	cmp    %dx,%cx
45306d:	72 63                	jb     0x4530d2
45306f:	83 c0 50             	add    $0x50,%eax
453072:	66 3b c8             	cmp    %ax,%cx
453075:	0f 82 be fe ff ff    	jb     0x452f39
45307b:	ba 40 10 00 00       	mov    $0x1040,%edx
453080:	66 3b ca             	cmp    %dx,%cx
453083:	72 4d                	jb     0x4530d2
453085:	8d 42 0a             	lea    0xa(%edx),%eax
453088:	66 3b c8             	cmp    %ax,%cx
45308b:	0f 82 a8 fe ff ff    	jb     0x452f39
453091:	ba e0 17 00 00       	mov    $0x17e0,%edx
453096:	66 3b ca             	cmp    %dx,%cx
453099:	72 37                	jb     0x4530d2
45309b:	8d 42 0a             	lea    0xa(%edx),%eax
45309e:	66 3b c8             	cmp    %ax,%cx
4530a1:	0f 82 92 fe ff ff    	jb     0x452f39
4530a7:	83 c2 30             	add    $0x30,%edx
4530aa:	66 3b ca             	cmp    %dx,%cx
4530ad:	72 23                	jb     0x4530d2
4530af:	83 c0 30             	add    $0x30,%eax
4530b2:	66 3b c8             	cmp    %ax,%cx
4530b5:	73 1b                	jae    0x4530d2
4530b7:	e9 7d fe ff ff       	jmp    0x452f39
4530bc:	b8 1a ff 00 00       	mov    $0xff1a,%eax
4530c1:	66 3b c8             	cmp    %ax,%cx
4530c4:	0f 82 6f fe ff ff    	jb     0x452f39
4530ca:	83 c8 ff             	or     $0xffffffff,%eax
4530cd:	83 f8 ff             	cmp    $0xffffffff,%eax
4530d0:	75 2f                	jne    0x453101
4530d2:	6a 41                	push   $0x41
4530d4:	58                   	pop    %eax
4530d5:	6a 19                	push   $0x19
4530d7:	5a                   	pop    %edx
4530d8:	66 3b c1             	cmp    %cx,%ax
4530db:	77 06                	ja     0x4530e3
4530dd:	66 83 f9 5a          	cmp    $0x5a,%cx
4530e1:	76 08                	jbe    0x4530eb
4530e3:	8d 41 9f             	lea    -0x61(%ecx),%eax
4530e6:	66 3b c2             	cmp    %dx,%ax
4530e9:	77 13                	ja     0x4530fe
4530eb:	8d 41 9f             	lea    -0x61(%ecx),%eax
4530ee:	66 3b c2             	cmp    %dx,%ax
4530f1:	0f b7 c1             	movzwl %cx,%eax
4530f4:	77 03                	ja     0x4530f9
4530f6:	83 e8 20             	sub    $0x20,%eax
4530f9:	83 c0 c9             	add    $0xffffffc9,%eax
4530fc:	5d                   	pop    %ebp
4530fd:	c3                   	ret
4530fe:	83 c8 ff             	or     $0xffffffff,%eax
453101:	5d                   	pop    %ebp
453102:	c3                   	ret
453103:	8b ff                	mov    %edi,%edi
453105:	55                   	push   %ebp
453106:	8b ec                	mov    %esp,%ebp
453108:	8b 45 08             	mov    0x8(%ebp),%eax
45310b:	89 01                	mov    %eax,(%ecx)
45310d:	b0 01                	mov    $0x1,%al
45310f:	5d                   	pop    %ebp
453110:	c2 04 00             	ret    $0x4
453113:	8b ff                	mov    %edi,%edi
453115:	55                   	push   %ebp
453116:	8b ec                	mov    %esp,%ebp
453118:	8b 45 08             	mov    0x8(%ebp),%eax