44fe9c:	03 c8                	add    %eax,%ecx
44fe9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
44fea1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
44fea4:	13 c2                	adc    %edx,%eax
44fea6:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
44feaa:	89 45 f0             	mov    %eax,-0x10(%ebp)
44fead:	75 05                	jne    0x44feb4
44feaf:	85 7d ec             	test   %edi,-0x14(%ebp)
44feb2:	74 02                	je     0x44feb6
44feb4:	32 db                	xor    %bl,%bl
44feb6:	88 5d f8             	mov    %bl,-0x8(%ebp)
44feb9:	85 f6                	test   %esi,%esi
44febb:	74 1f                	je     0x44fedc
44febd:	8b 4d 08             	mov    0x8(%ebp),%ecx
44fec0:	83 c1 04             	add    $0x4,%ecx
44fec3:	83 39 00             	cmpl   $0x0,(%ecx)
44fec6:	8d 49 04             	lea    0x4(%ecx),%ecx
44fec9:	0f 94 c0             	sete   %al
44fecc:	22 d8                	and    %al,%bl
44fece:	88 5d f8             	mov    %bl,-0x8(%ebp)
44fed1:	83 ee 01             	sub    $0x1,%esi
44fed4:	75 ed                	jne    0x44fec3
44fed6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44fed9:	8b 45 f0             	mov    -0x10(%ebp),%eax
44fedc:	ff 75 18             	push   0x18(%ebp)
44fedf:	ff 75 f8             	push   -0x8(%ebp)
44fee2:	ff 75 10             	push   0x10(%ebp)
44fee5:	ff 75 fc             	push   -0x4(%ebp)
44fee8:	50                   	push   %eax
44fee9:	51                   	push   %ecx
44feea:	e8 34 fb ff ff       	call   0x44fa23
44feef:	83 c4 18             	add    $0x18,%esp
44fef2:	5f                   	pop    %edi
44fef3:	5e                   	pop    %esi
44fef4:	5b                   	pop    %ebx
44fef5:	8b e5                	mov    %ebp,%esp
44fef7:	5d                   	pop    %ebp
44fef8:	c3                   	ret
44fef9:	8b ff                	mov    %edi,%edi
44fefb:	55                   	push   %ebp
44fefc:	8b ec                	mov    %esp,%ebp
44fefe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44ff01:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44ff05:	74 12                	je     0x44ff19
44ff07:	e8 93 fa ff ff       	call   0x44f99f
44ff0c:	50                   	push   %eax
44ff0d:	ff 75 08             	push   0x8(%ebp)
44ff10:	e8 b7 d1 ff ff       	call   0x44d0cc
44ff15:	59                   	pop    %ecx
44ff16:	59                   	pop    %ecx
44ff17:	5d                   	pop    %ebp
44ff18:	c3                   	ret
44ff19:	e8 a6 fa ff ff       	call   0x44f9c4
44ff1e:	33 c9                	xor    %ecx,%ecx
44ff20:	38 4d 08             	cmp    %cl,0x8(%ebp)
44ff23:	0f 95 c1             	setne  %cl
44ff26:	c1 e1 1f             	shl    $0x1f,%ecx
44ff29:	89 08                	mov    %ecx,(%eax)
44ff2b:	5d                   	pop    %ebp
44ff2c:	c3                   	ret
44ff2d:	cc                   	int3
44ff2e:	cc                   	int3
44ff2f:	cc                   	int3
44ff30:	8b ff                	mov    %edi,%edi
44ff32:	55                   	push   %ebp
44ff33:	8b ec                	mov    %esp,%ebp
44ff35:	51                   	push   %ecx
44ff36:	8b 45 08             	mov    0x8(%ebp),%eax
44ff39:	8b 08                	mov    (%eax),%ecx
44ff3b:	85 c9                	test   %ecx,%ecx
44ff3d:	75 06                	jne    0x44ff45
44ff3f:	33 c0                	xor    %eax,%eax
44ff41:	8b e5                	mov    %ebp,%esp
44ff43:	5d                   	pop    %ebp
44ff44:	c3                   	ret
44ff45:	8b 04 88             	mov    (%eax,%ecx,4),%eax
44ff48:	0f bd c0             	bsr    %eax,%eax
44ff4b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44ff52:	74 0f                	je     0x44ff63
44ff54:	8d 50 01             	lea    0x1(%eax),%edx
44ff57:	8d 41 ff             	lea    -0x1(%ecx),%eax
44ff5a:	c1 e0 05             	shl    $0x5,%eax
44ff5d:	03 c2                	add    %edx,%eax
44ff5f:	8b e5                	mov    %ebp,%esp
44ff61:	5d                   	pop    %ebp
44ff62:	c3                   	ret
44ff63:	8d 41 ff             	lea    -0x1(%ecx),%eax
44ff66:	33 d2                	xor    %edx,%edx
44ff68:	c1 e0 05             	shl    $0x5,%eax
44ff6b:	03 c2                	add    %edx,%eax
44ff6d:	8b e5                	mov    %ebp,%esp
44ff6f:	5d                   	pop    %ebp
44ff70:	c3                   	ret
44ff71:	cc                   	int3
44ff72:	cc                   	int3
44ff73:	cc                   	int3
44ff74:	cc                   	int3
44ff75:	cc                   	int3
44ff76:	cc                   	int3
44ff77:	cc                   	int3
44ff78:	cc                   	int3
44ff79:	cc                   	int3
44ff7a:	cc                   	int3
44ff7b:	cc                   	int3
44ff7c:	cc                   	int3
44ff7d:	cc                   	int3
44ff7e:	cc                   	int3
44ff7f:	cc                   	int3
44ff80:	8b ff                	mov    %edi,%edi
44ff82:	55                   	push   %ebp
44ff83:	8b ec                	mov    %esp,%ebp
44ff85:	51                   	push   %ecx
44ff86:	0f bd 45 08          	bsr    0x8(%ebp),%eax
44ff8a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44ff91:	74 05                	je     0x44ff98
44ff93:	40                   	inc    %eax
44ff94:	8b e5                	mov    %ebp,%esp
44ff96:	5d                   	pop    %ebp
44ff97:	c3                   	ret
44ff98:	33 c0                	xor    %eax,%eax
44ff9a:	8b e5                	mov    %ebp,%esp
44ff9c:	5d                   	pop    %ebp
44ff9d:	c3                   	ret
44ff9e:	cc                   	int3
44ff9f:	cc                   	int3
44ffa0:	8b ff                	mov    %edi,%edi
44ffa2:	55                   	push   %ebp
44ffa3:	8b ec                	mov    %esp,%ebp
44ffa5:	51                   	push   %ecx
44ffa6:	8b 45 0c             	mov    0xc(%ebp),%eax
44ffa9:	85 c0                	test   %eax,%eax
44ffab:	75 1b                	jne    0x44ffc8
44ffad:	8b 4d 08             	mov    0x8(%ebp),%ecx
44ffb0:	83 f9 ff             	cmp    $0xffffffff,%ecx
44ffb3:	77 13                	ja     0x44ffc8
44ffb5:	89 45 fc             	mov    %eax,-0x4(%ebp)
44ffb8:	0f bd c1             	bsr    %ecx,%eax
44ffbb:	74 05                	je     0x44ffc2
44ffbd:	40                   	inc    %eax
44ffbe:	8b e5                	mov    %ebp,%esp
44ffc0:	5d                   	pop    %ebp
44ffc1:	c3                   	ret
44ffc2:	33 c0                	xor    %eax,%eax
44ffc4:	8b e5                	mov    %ebp,%esp
44ffc6:	5d                   	pop    %ebp
44ffc7:	c3                   	ret
44ffc8:	0f bd c0             	bsr    %eax,%eax
44ffcb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44ffd2:	74 08                	je     0x44ffdc
44ffd4:	40                   	inc    %eax
44ffd5:	83 c0 20             	add    $0x20,%eax
44ffd8:	8b e5                	mov    %ebp,%esp
44ffda:	5d                   	pop    %ebp
44ffdb:	c3                   	ret
44ffdc:	33 c0                	xor    %eax,%eax
44ffde:	b8 20 00 00 00       	mov    $0x20,%eax
44ffe3:	8b e5                	mov    %ebp,%esp
44ffe5:	5d                   	pop    %ebp
44ffe6:	c3                   	ret
44ffe7:	8b ff                	mov    %edi,%edi
44ffe9:	55                   	push   %ebp
44ffea:	8b ec                	mov    %esp,%ebp
44ffec:	81 ec 2c 0b 00 00    	sub    $0xb2c,%esp
44fff2:	a1 94 80 4b 00       	mov    0x4b8094,%eax
44fff7:	33 c5                	xor    %ebp,%eax
44fff9:	89 45 fc             	mov    %eax,-0x4(%ebp)
44fffc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44ffff:	33 c0                	xor    %eax,%eax
450001:	53                   	push   %ebx
450002:	56                   	push   %esi
450003:	57                   	push   %edi
450004:	38 41 04             	cmp    %al,0x4(%ecx)
450007:	8b 7d 08             	mov    0x8(%ebp),%edi
45000a:	0f 94 c0             	sete   %al
45000d:	89 bd ac f6 ff ff    	mov    %edi,-0x954(%ebp)
450013:	48                   	dec    %eax
450014:	89 8d a8 f6 ff ff    	mov    %ecx,-0x958(%ebp)
45001a:	83 e0 1d             	and    $0x1d,%eax
45001d:	8b 1f                	mov    (%edi),%ebx
45001f:	83 c0 19             	add    $0x19,%eax
450022:	89 85 b0 f6 ff ff    	mov    %eax,-0x950(%ebp)
450028:	85 db                	test   %ebx,%ebx
45002a:	79 02                	jns    0x45002e
45002c:	33 db                	xor    %ebx,%ebx
45002e:	8b 47 04             	mov    0x4(%edi),%eax
450031:	8b cb                	mov    %ebx,%ecx
450033:	3b d8                	cmp    %eax,%ebx
450035:	72 02                	jb     0x450039
450037:	8b c8                	mov    %eax,%ecx
450039:	83 c0 08             	add    $0x8,%eax
45003c:	8d 57 08             	lea    0x8(%edi),%edx
45003f:	03 c7                	add    %edi,%eax
450041:	03 d1                	add    %ecx,%edx
450043:	89 85 c4 f6 ff ff    	mov    %eax,-0x93c(%ebp)
450049:	2b d9                	sub    %ecx,%ebx
45004b:	2b c2                	sub    %edx,%eax
45004d:	89 9d cc f6 ff ff    	mov    %ebx,-0x934(%ebp)
450053:	83 c7 08             	add    $0x8,%edi
450056:	89 85 e0 f6 ff ff    	mov    %eax,-0x920(%ebp)
45005c:	33 c0                	xor    %eax,%eax
45005e:	89 95 d8 f6 ff ff    	mov    %edx,-0x928(%ebp)
450064:	33 f6                	xor    %esi,%esi
450066:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
45006c:	33 c9                	xor    %ecx,%ecx
45006e:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450074:	89 b5 e4 f6 ff ff    	mov    %esi,-0x91c(%ebp)
45007a:	89 bd dc f6 ff ff    	mov    %edi,-0x924(%ebp)
450080:	3b fa                	cmp    %edx,%edi
450082:	75 0d                	jne    0x450091
450084:	8b d8                	mov    %eax,%ebx
450086:	e9 6b 06 00 00       	jmp    0x4506f6
45008b:	8b 85 e8 f6 ff ff    	mov    -0x918(%ebp),%eax
450091:	83 f9 09             	cmp    $0x9,%ecx
450094:	0f 85 37 01 00 00    	jne    0x4501d1
45009a:	85 c0                	test   %eax,%eax
45009c:	0f 84 93 00 00 00    	je     0x450135
4500a2:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
4500a8:	33 c9                	xor    %ecx,%ecx
4500aa:	33 f6                	xor    %esi,%esi
4500ac:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
4500b1:	8b 84 b5 30 fe ff ff 	mov    -0x1d0(%ebp,%esi,4),%eax
4500b8:	f7 e7                	mul    %edi
4500ba:	03 c1                	add    %ecx,%eax
4500bc:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
4500c3:	83 d2 00             	adc    $0x0,%edx
4500c6:	46                   	inc    %esi
4500c7:	8b ca                	mov    %edx,%ecx
4500c9:	3b f3                	cmp    %ebx,%esi
4500cb:	75 e4                	jne    0x4500b1
4500cd:	8b bd dc f6 ff ff    	mov    -0x924(%ebp),%edi
4500d3:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
4500d9:	85 c9                	test   %ecx,%ecx
4500db:	74 4c                	je     0x450129
4500dd:	83 f8 73             	cmp    $0x73,%eax
4500e0:	73 16                	jae    0x4500f8
4500e2:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
4500e9:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
4500ef:	40                   	inc    %eax
4500f0:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4500f6:	eb 31                	jmp    0x450129
4500f8:	83 a5 bc f8 ff ff 00 	andl   $0x0,-0x744(%ebp)
4500ff:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450105:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
45010c:	6a 00                	push   $0x0
45010e:	50                   	push   %eax
45010f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450115:	68 cc 01 00 00       	push   $0x1cc
45011a:	50                   	push   %eax
45011b:	e8 82 35 00 00       	call   0x4536a2
450120:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
450126:	83 c4 10             	add    $0x10,%esp
450129:	8b b5 e4 f6 ff ff    	mov    -0x91c(%ebp),%esi
45012f:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
450135:	85 f6                	test   %esi,%esi
450137:	0f 84 82 00 00 00    	je     0x4501bf
45013d:	33 d2                	xor    %edx,%edx
45013f:	85 c0                	test   %eax,%eax
450141:	74 1e                	je     0x450161
450143:	33 c0                	xor    %eax,%eax
450145:	01 b4 95 30 fe ff ff 	add    %esi,-0x1d0(%ebp,%edx,4)
45014c:	13 c0                	adc    %eax,%eax
45014e:	42                   	inc    %edx
45014f:	8b f0                	mov    %eax,%esi
450151:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
450157:	89 85 e8 f6 ff ff    	mov    %eax,-0x918(%ebp)
45015d:	3b d0                	cmp    %eax,%edx
45015f:	75 e2                	jne    0x450143
450161:	85 f6                	test   %esi,%esi
450163:	74 5a                	je     0x4501bf
450165:	83 f8 73             	cmp    $0x73,%eax
450168:	73 1c                	jae    0x450186
45016a:	89 b4 85 30 fe ff ff 	mov    %esi,-0x1d0(%ebp,%eax,4)
450171:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450177:	43                   	inc    %ebx
450178:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
45017e:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
450184:	eb 3f                	jmp    0x4501c5
450186:	83 a5 bc f8 ff ff 00 	andl   $0x0,-0x744(%ebp)
45018d:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450193:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
45019a:	6a 00                	push   $0x0
45019c:	50                   	push   %eax
45019d:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4501a3:	68 cc 01 00 00       	push   $0x1cc
4501a8:	50                   	push   %eax
4501a9:	e8 f4 34 00 00       	call   0x4536a2
4501ae:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4501b4:	83 c4 10             	add    $0x10,%esp
4501b7:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
4501bd:	eb 06                	jmp    0x4501c5
4501bf:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
4501c5:	8b 95 d8 f6 ff ff    	mov    -0x928(%ebp),%edx
4501cb:	33 f6                	xor    %esi,%esi
4501cd:	33 c9                	xor    %ecx,%ecx
4501cf:	eb 06                	jmp    0x4501d7
4501d1:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
4501d7:	0f b6 07             	movzbl (%edi),%eax
4501da:	6b f6 0a             	imul   $0xa,%esi,%esi
4501dd:	03 f0                	add    %eax,%esi
4501df:	41                   	inc    %ecx
4501e0:	47                   	inc    %edi
4501e1:	89 b5 e4 f6 ff ff    	mov    %esi,-0x91c(%ebp)
4501e7:	89 bd dc f6 ff ff    	mov    %edi,-0x924(%ebp)
4501ed:	3b fa                	cmp    %edx,%edi
4501ef:	0f 85 96 fe ff ff    	jne    0x45008b
4501f5:	85 c9                	test   %ecx,%ecx
4501f7:	0f 84 f3 04 00 00    	je     0x4506f0
4501fd:	8b c1                	mov    %ecx,%eax
4501ff:	33 d2                	xor    %edx,%edx
450201:	6a 0a                	push   $0xa
450203:	59                   	pop    %ecx
450204:	f7 f1                	div    %ecx
450206:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
45020c:	8b ca                	mov    %edx,%ecx
45020e:	89 8d b8 f6 ff ff    	mov    %ecx,-0x948(%ebp)
450214:	85 c0                	test   %eax,%eax
450216:	0f 84 7f 03 00 00    	je     0x45059b
45021c:	83 f8 26             	cmp    $0x26,%eax
45021f:	76 03                	jbe    0x450224
450221:	6a 26                	push   $0x26
450223:	58                   	pop    %eax
450224:	0f b6 0c 85 2e c7 49 	movzbl 0x49c72e(,%eax,4),%ecx
45022b:	00
45022c:	0f b6 34 85 2f c7 49 	movzbl 0x49c72f(,%eax,4),%esi
450233:	00
450234:	8b f9                	mov    %ecx,%edi
450236:	89 85 d0 f6 ff ff    	mov    %eax,-0x930(%ebp)
45023c:	c1 e7 02             	shl    $0x2,%edi
45023f:	57                   	push   %edi
450240:	8d 04 31             	lea    (%ecx,%esi,1),%eax
450243:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
450249:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
45024f:	6a 00                	push   $0x0
450251:	50                   	push   %eax
450252:	e8 09 3c ff ff       	call   0x443e60
450257:	8b c6                	mov    %esi,%eax
450259:	c1 e0 02             	shl    $0x2,%eax
45025c:	50                   	push   %eax
45025d:	8b 85 d0 f6 ff ff    	mov    -0x930(%ebp),%eax
450263:	0f b7 04 85 2c c7 49 	movzwl 0x49c72c(,%eax,4),%eax
45026a:	00
45026b:	8d 04 85 28 be 49 00 	lea    0x49be28(,%eax,4),%eax
450272:	50                   	push   %eax
450273:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450279:	03 c7                	add    %edi,%eax
45027b:	50                   	push   %eax
45027c:	e8 df 30 ff ff       	call   0x443360
450281:	8b 85 bc f8 ff ff    	mov    -0x744(%ebp),%eax
450287:	33 c9                	xor    %ecx,%ecx
450289:	41                   	inc    %ecx