413cde:	8b f9                	mov    %ecx,%edi
413ce0:	85 db                	test   %ebx,%ebx
413ce2:	0f 84 1d e2 00 00    	je     0x421f05
413ce8:	8b 75 0c             	mov    0xc(%ebp),%esi
413ceb:	89 75 fc             	mov    %esi,-0x4(%ebp)
413cee:	83 fe ff             	cmp    $0xffffffff,%esi
413cf1:	75 1f                	jne    0x413d12
413cf3:	8b f3                	mov    %ebx,%esi
413cf5:	8d 4e 02             	lea    0x2(%esi),%ecx
413cf8:	eb 06                	jmp    0x413d00
413cfa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
413d00:	66 8b 06             	mov    (%esi),%ax
413d03:	83 c6 02             	add    $0x2,%esi
413d06:	66 85 c0             	test   %ax,%ax
413d09:	75 f5                	jne    0x413d00
413d0b:	2b f1                	sub    %ecx,%esi
413d0d:	d1 fe                	sar    $1,%esi
413d0f:	89 75 fc             	mov    %esi,-0x4(%ebp)
413d12:	8d 45 f8             	lea    -0x8(%ebp),%eax
413d15:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
413d1c:	50                   	push   %eax
413d1d:	8d 55 f0             	lea    -0x10(%ebp),%edx
413d20:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
413d27:	8d 4d fc             	lea    -0x4(%ebp),%ecx
413d2a:	e8 6b 00 00 00       	call   0x413d9a
413d2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
413d32:	3b 47 08             	cmp    0x8(%edi),%eax
413d35:	77 35                	ja     0x413d6c
413d37:	b8 02 00 00 00       	mov    $0x2,%eax
413d3c:	f7 e6                	mul    %esi
413d3e:	85 d2                	test   %edx,%edx
413d40:	75 53                	jne    0x413d95
413d42:	83 f8 ff             	cmp    $0xffffffff,%eax
413d45:	77 4e                	ja     0x413d95
413d47:	50                   	push   %eax
413d48:	53                   	push   %ebx
413d49:	ff 77 04             	push   0x4(%edi)
413d4c:	e8 95 71 00 00       	call   0x41aee6
413d51:	8b 47 04             	mov    0x4(%edi),%eax
413d54:	83 c4 0c             	add    $0xc,%esp
413d57:	89 77 0c             	mov    %esi,0xc(%edi)
413d5a:	33 c9                	xor    %ecx,%ecx
413d5c:	66 89 0c 70          	mov    %cx,(%eax,%esi,2)
413d60:	8b 47 0c             	mov    0xc(%edi),%eax
413d63:	5f                   	pop    %edi
413d64:	5e                   	pop    %esi
413d65:	5b                   	pop    %ebx
413d66:	8b e5                	mov    %ebp,%esp
413d68:	5d                   	pop    %ebp
413d69:	c2 08 00             	ret    $0x8
413d6c:	8d 45 f4             	lea    -0xc(%ebp),%eax
413d6f:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
413d76:	50                   	push   %eax
413d77:	8d 55 ec             	lea    -0x14(%ebp),%edx
413d7a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
413d81:	8d 4d fc             	lea    -0x4(%ebp),%ecx
413d84:	e8 11 00 00 00       	call   0x413d9a
413d89:	ff 75 f4             	push   -0xc(%ebp)
413d8c:	8b cf                	mov    %edi,%ecx
413d8e:	e8 3d 00 00 00       	call   0x413dd0
413d93:	eb a2                	jmp    0x413d37
413d95:	e8 39 84 01 00       	call   0x42c1d3
413d9a:	8b ff                	mov    %edi,%edi
413d9c:	55                   	push   %ebp
413d9d:	8b ec                	mov    %esp,%ebp
413d9f:	8b 02                	mov    (%edx),%eax
413da1:	8b 09                	mov    (%ecx),%ecx
413da3:	56                   	push   %esi
413da4:	33 f6                	xor    %esi,%esi
413da6:	99                   	cltd
413da7:	03 c8                	add    %eax,%ecx
413da9:	13 f2                	adc    %edx,%esi
413dab:	85 f6                	test   %esi,%esi
413dad:	7c 09                	jl     0x413db8
413daf:	7f 19                	jg     0x413dca
413db1:	83 f9 ff             	cmp    $0xffffffff,%ecx
413db4:	77 14                	ja     0x413dca
413db6:	85 f6                	test   %esi,%esi
413db8:	5e                   	pop    %esi
413db9:	7f 06                	jg     0x413dc1
413dbb:	7c 0d                	jl     0x413dca
413dbd:	85 c9                	test   %ecx,%ecx
413dbf:	72 09                	jb     0x413dca
413dc1:	8b 45 08             	mov    0x8(%ebp),%eax
413dc4:	89 08                	mov    %ecx,(%eax)
413dc6:	5d                   	pop    %ebp
413dc7:	c2 04 00             	ret    $0x4
413dca:	e8 04 84 01 00       	call   0x42c1d3
413dcf:	cc                   	int3
413dd0:	8b ff                	mov    %edi,%edi
413dd2:	55                   	push   %ebp
413dd3:	8b ec                	mov    %esp,%ebp
413dd5:	51                   	push   %ecx
413dd6:	56                   	push   %esi
413dd7:	57                   	push   %edi
413dd8:	8b 7d 08             	mov    0x8(%ebp),%edi
413ddb:	8b f1                	mov    %ecx,%esi
413ddd:	6a 02                	push   $0x2
413ddf:	8b c7                	mov    %edi,%eax
413de1:	59                   	pop    %ecx
413de2:	f7 e1                	mul    %ecx
413de4:	85 d2                	test   %edx,%edx
413de6:	72 0f                	jb     0x413df7
413de8:	0f 87 44 e1 00 00    	ja     0x421f32
413dee:	83 f8 ff             	cmp    $0xffffffff,%eax
413df1:	0f 87 3b e1 00 00    	ja     0x421f32
413df7:	50                   	push   %eax
413df8:	ff 15 e4 a4 43 00    	call   *0x43a4e4
413dfe:	89 46 04             	mov    %eax,0x4(%esi)
413e01:	59                   	pop    %ecx
413e02:	85 c0                	test   %eax,%eax
413e04:	0f 84 13 e1 00 00    	je     0x421f1d
413e0a:	89 7e 08             	mov    %edi,0x8(%esi)
413e0d:	5f                   	pop    %edi
413e0e:	5e                   	pop    %esi
413e0f:	59                   	pop    %ecx
413e10:	5d                   	pop    %ebp
413e11:	c2 04 00             	ret    $0x4
413e14:	8b ff                	mov    %edi,%edi
413e16:	55                   	push   %ebp
413e17:	8b ec                	mov    %esp,%ebp
413e19:	56                   	push   %esi
413e1a:	57                   	push   %edi
413e1b:	8b 79 10             	mov    0x10(%ecx),%edi
413e1e:	85 ff                	test   %edi,%edi
413e20:	74 1d                	je     0x413e3f
413e22:	8b 07                	mov    (%edi),%eax
413e24:	ff 75 0c             	push   0xc(%ebp)
413e27:	ff 75 08             	push   0x8(%ebp)
413e2a:	8b 70 08             	mov    0x8(%eax),%esi
413e2d:	8b ce                	mov    %esi,%ecx
413e2f:	ff 15 20 a5 43 00    	call   *0x43a520
413e35:	8b cf                	mov    %edi,%ecx
413e37:	ff d6                	call   *%esi
413e39:	5f                   	pop    %edi
413e3a:	5e                   	pop    %esi
413e3b:	5d                   	pop    %ebp
413e3c:	c2 08 00             	ret    $0x8
413e3f:	e8 ac 65 00 00       	call   0x41a3f0
413e44:	cc                   	int3
413e45:	68 b0 00 00 00       	push   $0xb0
413e4a:	b8 4a e9 41 00       	mov    $0x41e94a,%eax
413e4f:	e8 59 70 00 00       	call   0x41aead
413e54:	8b 7d 0c             	mov    0xc(%ebp),%edi
413e57:	8b 45 08             	mov    0x8(%ebp),%eax
413e5a:	57                   	push   %edi
413e5b:	50                   	push   %eax
413e5c:	ff 15 3c a0 43 00    	call   *0x43a03c
413e62:	85 c0                	test   %eax,%eax
413e64:	0f 88 8a 01 00 00    	js     0x413ff4
413e6a:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
413e70:	e8 a6 f6 ff ff       	call   0x41351b
413e75:	33 db                	xor    %ebx,%ebx
413e77:	89 5d fc             	mov    %ebx,-0x4(%ebp)
413e7a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
413e7e:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
413e84:	6a ff                	push   $0xffffffff
413e86:	53                   	push   %ebx
413e87:	68 dc 56 40 00       	push   $0x4056dc
413e8c:	8b 70 10             	mov    0x10(%eax),%esi
413e8f:	8b ce                	mov    %esi,%ecx
413e91:	ff 15 20 a5 43 00    	call   *0x43a520
413e97:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
413e9d:	ff d6                	call   *%esi
413e9f:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
413ea5:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
413eab:	8b cf                	mov    %edi,%ecx
413ead:	e8 d3 02 00 00       	call   0x414185
413eb2:	51                   	push   %ecx
413eb3:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
413eb9:	e8 0f 04 00 00       	call   0x4142cd
413ebe:	89 5d fc             	mov    %ebx,-0x4(%ebp)
413ec1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
413ec7:	89 9d 54 ff ff ff    	mov    %ebx,-0xac(%ebp)
413ecd:	e8 f4 91 00 00       	call   0x41d0c6
413ed2:	50                   	push   %eax
413ed3:	68 19 00 02 00       	push   $0x20019
413ed8:	53                   	push   %ebx
413ed9:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
413edf:	68 00 00 00 80       	push   $0x80000000
413ee4:	ff 15 44 a2 43 00    	call   *0x43a244
413eea:	8b f0                	mov    %eax,%esi
413eec:	85 f6                	test   %esi,%esi
413eee:	74 64                	je     0x413f54
413ef0:	7e 09                	jle    0x413efb
413ef2:	0f b7 f6             	movzwl %si,%esi
413ef5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
413efb:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
413f01:	85 c0                	test   %eax,%eax
413f03:	74 22                	je     0x413f27
413f05:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
413f0b:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
413f11:	a1 38 a2 43 00       	mov    0x43a238,%eax
413f16:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
413f1c:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
413f22:	e8 3d 77 00 00       	call   0x41b664
413f27:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413f2d:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413f34:	11 40 00
413f37:	85 c0                	test   %eax,%eax
413f39:	74 12                	je     0x413f4d
413f3b:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413f41:	3b c1                	cmp    %ecx,%eax
413f43:	74 08                	je     0x413f4d
413f45:	50                   	push   %eax
413f46:	ff 15 14 a4 43 00    	call   *0x43a414
413f4c:	59                   	pop    %ecx
413f4d:	8b c6                	mov    %esi,%eax
413f4f:	e9 a0 00 00 00       	jmp    0x413ff4
413f54:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
413f5a:	85 c0                	test   %eax,%eax
413f5c:	74 22                	je     0x413f80
413f5e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
413f64:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
413f6a:	a1 38 a2 43 00       	mov    0x43a238,%eax
413f6f:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
413f75:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
413f7b:	e8 e4 76 00 00       	call   0x41b664
413f80:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413f86:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413f8d:	11 40 00
413f90:	85 c0                	test   %eax,%eax
413f92:	74 12                	je     0x413fa6
413f94:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413f9a:	3b c1                	cmp    %ecx,%eax
413f9c:	74 08                	je     0x413fa6
413f9e:	50                   	push   %eax
413f9f:	ff 15 14 a4 43 00    	call   *0x43a414
413fa5:	59                   	pop    %ecx
413fa6:	33 c0                	xor    %eax,%eax
413fa8:	eb 4a                	jmp    0x413ff4
413faa:	8b 4d 04             	mov    0x4(%ebp),%ecx
413fad:	ba ed 00 00 00       	mov    $0xed,%edx
413fb2:	68 90 56 40 00       	push   $0x405690
413fb7:	e8 56 b9 01 00       	call   0x42f912
413fbc:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
413fc2:	b8 c8 3f 41 00       	mov    $0x413fc8,%eax
413fc7:	c3                   	ret
413fc8:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413fce:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413fd5:	11 40 00
413fd8:	85 c0                	test   %eax,%eax
413fda:	74 12                	je     0x413fee
413fdc:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413fe2:	3b c1                	cmp    %ecx,%eax
413fe4:	74 08                	je     0x413fee
413fe6:	50                   	push   %eax
413fe7:	ff 15 14 a4 43 00    	call   *0x43a414
413fed:	59                   	pop    %ecx
413fee:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
413ff4:	e8 06 6e 00 00       	call   0x41adff
413ff9:	c2 08 00             	ret    $0x8
413ffc:	68 20 02 00 00       	push   $0x220
414001:	b8 72 e9 41 00       	mov    $0x41e972,%eax
414006:	e8 a2 6e 00 00       	call   0x41aead
41400b:	8b f1                	mov    %ecx,%esi
41400d:	89 b5 d8 fd ff ff    	mov    %esi,-0x228(%ebp)
414013:	8b 5d 0c             	mov    0xc(%ebp),%ebx
414016:	8b 7d 08             	mov    0x8(%ebp),%edi
414019:	6a 00                	push   $0x0
41401b:	ff 15 ac a0 43 00    	call   *0x43a0ac
414021:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
414027:	85 c0                	test   %eax,%eax
414029:	0f 84 19 df 00 00    	je     0x421f48
41402f:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414035:	c7 85 e0 fd ff ff 08 	movl   $0x208,-0x220(%ebp)
41403c:	02 00 00
41403f:	51                   	push   %ecx
414040:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
414046:	51                   	push   %ecx
414047:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
41404d:	51                   	push   %ecx
41404e:	6a 00                	push   $0x0
414050:	57                   	push   %edi
414051:	50                   	push   %eax
414052:	ff 15 3c a2 43 00    	call   *0x43a23c
414058:	8b f0                	mov    %eax,%esi
41405a:	b8 ea 00 00 00       	mov    $0xea,%eax
41405f:	85 f6                	test   %esi,%esi
414061:	0f 85 f1 de 00 00    	jne    0x421f58
414067:	83 bd dc fd ff ff 01 	cmpl   $0x1,-0x224(%ebp)
41406e:	0f 85 ed de 00 00    	jne    0x421f61
414074:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414078:	83 bd dc fd ff ff 02 	cmpl   $0x2,-0x224(%ebp)
41407f:	0f 84 f8 de 00 00    	je     0x421f7d
414085:	8b cb                	mov    %ebx,%ecx
414087:	3b f0                	cmp    %eax,%esi
414089:	0f 84 61 df 00 00    	je     0x421ff0
41408f:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
414095:	d1 ef                	shr    $1,%edi
414097:	57                   	push   %edi
414098:	e8 eb 01 00 00       	call   0x414288
41409d:	8b c8                	mov    %eax,%ecx
41409f:	8b c7                	mov    %edi,%eax
4140a1:	f7 d8                	neg    %eax
4140a3:	1b c0                	sbb    %eax,%eax
4140a5:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
4140aa:	05 57 00 07 80       	add    $0x80070057,%eax
4140af:	85 ff                	test   %edi,%edi
4140b1:	74 10                	je     0x4140c3
4140b3:	51                   	push   %ecx
4140b4:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4140ba:	8b d7                	mov    %edi,%edx
4140bc:	50                   	push   %eax
4140bd:	51                   	push   %ecx
4140be:	e8 6d 00 00 00       	call   0x414130
4140c3:	8b 4d 04             	mov    0x4(%ebp),%ecx
4140c6:	85 c0                	test   %eax,%eax
4140c8:	0f 88 5b df 00 00    	js     0x422029
4140ce:	85 f6                	test   %esi,%esi
4140d0:	0f 85 bc de 00 00    	jne    0x421f92
4140d6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4140da:	8b 95 e0 fd ff ff    	mov    -0x220(%ebp),%edx
4140e0:	d1 ea                	shr    $1,%edx
4140e2:	89 95 e0 fd ff ff    	mov    %edx,-0x220(%ebp)
4140e8:	8d 4a ff             	lea    -0x1(%edx),%ecx
4140eb:	f7 da                	neg    %edx
4140ed:	1b d2                	sbb    %edx,%edx
4140ef:	23 d1                	and    %ecx,%edx
4140f1:	8b cb                	mov    %ebx,%ecx
4140f3:	52                   	push   %edx
4140f4:	e8 0b 00 00 00       	call   0x414104
4140f9:	33 c0                	xor    %eax,%eax
4140fb:	40                   	inc    %eax
4140fc:	e8 fe 6c 00 00       	call   0x41adff
414101:	c2 08 00             	ret    $0x8
414104:	8b ff                	mov    %edi,%edi
414106:	55                   	push   %ebp
414107:	8b ec                	mov    %esp,%ebp
414109:	8b 41 08             	mov    0x8(%ecx),%eax
41410c:	8b 55 08             	mov    0x8(%ebp),%edx
41410f:	48                   	dec    %eax
414110:	3b d0                	cmp    %eax,%edx
414112:	0f 87 3c df 00 00    	ja     0x422054
414118:	8b 41 04             	mov    0x4(%ecx),%eax
41411b:	89 51 0c             	mov    %edx,0xc(%ecx)
41411e:	33 c9                	xor    %ecx,%ecx
414120:	66 89 0c 50          	mov    %cx,(%eax,%edx,2)
414124:	5d                   	pop    %ebp
414125:	c2 04 00             	ret    $0x4
414128:	cc                   	int3
414129:	cc                   	int3
41412a:	cc                   	int3
41412b:	cc                   	int3
41412c:	cc                   	int3
41412d:	cc                   	int3
41412e:	cc                   	int3
41412f:	cc                   	int3
414130:	8b ff                	mov    %edi,%edi
414132:	55                   	push   %ebp