40fddb:	5b                   	pop    %ebx
40fddc:	c3                   	ret
40fddd:	73 70                	jae    0x40fe4f
40fddf:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
40fde2:	8d 95 f8 00 00 00    	lea    0xf8(%ebp),%edx
40fde8:	3b ca                	cmp    %edx,%ecx
40fdea:	77 63                	ja     0x40fe4f
40fdec:	8d 14 3e             	lea    (%esi,%edi,1),%edx
40fdef:	3b d1                	cmp    %ecx,%edx
40fdf1:	73 0c                	jae    0x40fdff
40fdf3:	80 3a 00             	cmpb   $0x0,(%edx)
40fdf6:	75 05                	jne    0x40fdfd
40fdf8:	42                   	inc    %edx
40fdf9:	3b d1                	cmp    %ecx,%edx
40fdfb:	72 f6                	jb     0x40fdf3
40fdfd:	3b d1                	cmp    %ecx,%edx
40fdff:	75 4e                	jne    0x40fe4f
40fe01:	88 1f                	mov    %bl,(%edi)
40fe03:	8b 45 00             	mov    0x0(%ebp),%eax
40fe06:	3b f8                	cmp    %eax,%edi
40fe08:	77 34                	ja     0x40fe3e
40fe0a:	3b c8                	cmp    %eax,%ecx
40fe0c:	76 30                	jbe    0x40fe3e
40fe0e:	8d 85 f8 00 00 00    	lea    0xf8(%ebp),%eax
40fe14:	3b c8                	cmp    %eax,%ecx
40fe16:	73 19                	jae    0x40fe31
40fe18:	89 4d 00             	mov    %ecx,0x0(%ebp)
40fe1b:	8a 11                	mov    (%ecx),%dl
40fe1d:	33 c0                	xor    %eax,%eax
40fe1f:	84 d2                	test   %dl,%dl
40fe21:	75 09                	jne    0x40fe2c
40fe23:	8a 54 08 01          	mov    0x1(%eax,%ecx,1),%dl
40fe27:	40                   	inc    %eax
40fe28:	84 d2                	test   %dl,%dl
40fe2a:	74 f7                	je     0x40fe23
40fe2c:	89 45 04             	mov    %eax,0x4(%ebp)
40fe2f:	eb 0d                	jmp    0x40fe3e
40fe31:	8d 45 08             	lea    0x8(%ebp),%eax
40fe34:	c7 45 04 00 00 00 00 	movl   $0x0,0x4(%ebp)
40fe3b:	89 45 00             	mov    %eax,0x0(%ebp)
40fe3e:	8b 44 24 18          	mov    0x18(%esp),%eax
40fe42:	2b f3                	sub    %ebx,%esi
40fe44:	8b 08                	mov    (%eax),%ecx
40fe46:	03 ce                	add    %esi,%ecx
40fe48:	89 08                	mov    %ecx,(%eax)
40fe4a:	b8 01 00 00 00       	mov    $0x1,%eax
40fe4f:	5f                   	pop    %edi
40fe50:	5e                   	pop    %esi
40fe51:	5d                   	pop    %ebp
40fe52:	5b                   	pop    %ebx
40fe53:	c3                   	ret
40fe54:	90                   	nop
40fe55:	90                   	nop
40fe56:	90                   	nop
40fe57:	90                   	nop
40fe58:	90                   	nop
40fe59:	90                   	nop
40fe5a:	90                   	nop
40fe5b:	90                   	nop
40fe5c:	90                   	nop
40fe5d:	90                   	nop
40fe5e:	90                   	nop
40fe5f:	90                   	nop
40fe60:	8d 42 ff             	lea    -0x1(%edx),%eax
40fe63:	5b                   	pop    %ebx
40fe64:	c3                   	ret
40fe65:	2e 8b c0             	cs mov %eax,%eax
40fe68:	2e 8b c0             	cs mov %eax,%eax
40fe6b:	2e 8b c0             	cs mov %eax,%eax
40fe6e:	8b c0                	mov    %eax,%eax
40fe70:	33 c0                	xor    %eax,%eax
40fe72:	8a 44 24 08          	mov    0x8(%esp),%al
40fe76:	53                   	push   %ebx
40fe77:	8b d8                	mov    %eax,%ebx
40fe79:	c1 e0 08             	shl    $0x8,%eax
40fe7c:	8b 54 24 08          	mov    0x8(%esp),%edx
40fe80:	f7 c2 03 00 00 00    	test   $0x3,%edx
40fe86:	74 13                	je     0x40fe9b
40fe88:	8a 0a                	mov    (%edx),%cl
40fe8a:	42                   	inc    %edx
40fe8b:	38 d9                	cmp    %bl,%cl
40fe8d:	74 d1                	je     0x40fe60
40fe8f:	84 c9                	test   %cl,%cl
40fe91:	74 51                	je     0x40fee4
40fe93:	f7 c2 03 00 00 00    	test   $0x3,%edx
40fe99:	75 ed                	jne    0x40fe88
40fe9b:	0b d8                	or     %eax,%ebx
40fe9d:	57                   	push   %edi
40fe9e:	8b c3                	mov    %ebx,%eax
40fea0:	c1 e3 10             	shl    $0x10,%ebx
40fea3:	56                   	push   %esi
40fea4:	0b d8                	or     %eax,%ebx
40fea6:	8b 0a                	mov    (%edx),%ecx
40fea8:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
40fead:	8b c1                	mov    %ecx,%eax
40feaf:	8b f7                	mov    %edi,%esi
40feb1:	33 cb                	xor    %ebx,%ecx
40feb3:	03 f0                	add    %eax,%esi
40feb5:	03 f9                	add    %ecx,%edi
40feb7:	83 f1 ff             	xor    $0xffffffff,%ecx
40feba:	83 f0 ff             	xor    $0xffffffff,%eax
40febd:	33 cf                	xor    %edi,%ecx
40febf:	33 c6                	xor    %esi,%eax
40fec1:	83 c2 04             	add    $0x4,%edx
40fec4:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
40feca:	75 1c                	jne    0x40fee8
40fecc:	25 00 01 01 81       	and    $0x81010100,%eax
40fed1:	74 d3                	je     0x40fea6
40fed3:	25 00 01 01 01       	and    $0x1010100,%eax
40fed8:	75 08                	jne    0x40fee2
40feda:	81 e6 00 00 00 80    	and    $0x80000000,%esi
40fee0:	75 c4                	jne    0x40fea6
40fee2:	5e                   	pop    %esi
40fee3:	5f                   	pop    %edi
40fee4:	5b                   	pop    %ebx
40fee5:	33 c0                	xor    %eax,%eax
40fee7:	c3                   	ret
40fee8:	8b 42 fc             	mov    -0x4(%edx),%eax
40feeb:	38 d8                	cmp    %bl,%al
40feed:	74 36                	je     0x40ff25
40feef:	84 c0                	test   %al,%al
40fef1:	74 ef                	je     0x40fee2
40fef3:	38 dc                	cmp    %bl,%ah
40fef5:	74 27                	je     0x40ff1e
40fef7:	84 e4                	test   %ah,%ah
40fef9:	74 e7                	je     0x40fee2
40fefb:	c1 e8 10             	shr    $0x10,%eax
40fefe:	38 d8                	cmp    %bl,%al
40ff00:	74 15                	je     0x40ff17
40ff02:	84 c0                	test   %al,%al
40ff04:	74 dc                	je     0x40fee2
40ff06:	38 dc                	cmp    %bl,%ah
40ff08:	74 06                	je     0x40ff10
40ff0a:	84 e4                	test   %ah,%ah
40ff0c:	74 d4                	je     0x40fee2
40ff0e:	eb 96                	jmp    0x40fea6
40ff10:	5e                   	pop    %esi
40ff11:	5f                   	pop    %edi
40ff12:	8d 42 ff             	lea    -0x1(%edx),%eax
40ff15:	5b                   	pop    %ebx
40ff16:	c3                   	ret
40ff17:	8d 42 fe             	lea    -0x2(%edx),%eax
40ff1a:	5e                   	pop    %esi
40ff1b:	5f                   	pop    %edi
40ff1c:	5b                   	pop    %ebx
40ff1d:	c3                   	ret
40ff1e:	8d 42 fd             	lea    -0x3(%edx),%eax
40ff21:	5e                   	pop    %esi
40ff22:	5f                   	pop    %edi
40ff23:	5b                   	pop    %ebx
40ff24:	c3                   	ret
40ff25:	8d 42 fc             	lea    -0x4(%edx),%eax
40ff28:	5e                   	pop    %esi
40ff29:	5f                   	pop    %edi
40ff2a:	5b                   	pop    %ebx
40ff2b:	c3                   	ret
40ff2c:	cc                   	int3
40ff2d:	cc                   	int3
40ff2e:	cc                   	int3
40ff2f:	cc                   	int3
40ff30:	53                   	push   %ebx
40ff31:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
40ff35:	0f af 5c 24 08       	imul   0x8(%esp),%ebx
40ff3a:	55                   	push   %ebp
40ff3b:	56                   	push   %esi
40ff3c:	83 fb e0             	cmp    $0xffffffe0,%ebx
40ff3f:	57                   	push   %edi
40ff40:	77 11                	ja     0x40ff53
40ff42:	85 db                	test   %ebx,%ebx
40ff44:	76 08                	jbe    0x40ff4e
40ff46:	83 c3 0f             	add    $0xf,%ebx
40ff49:	83 e3 f0             	and    $0xfffffff0,%ebx
40ff4c:	eb 05                	jmp    0x40ff53
40ff4e:	bb 10 00 00 00       	mov    $0x10,%ebx
40ff53:	8b 2d 58 96 43 00    	mov    0x439658,%ebp
40ff59:	33 f6                	xor    %esi,%esi
40ff5b:	83 fb e0             	cmp    $0xffffffe0,%ebx
40ff5e:	77 55                	ja     0x40ffb5
40ff60:	3b 1d 84 3f 43 00    	cmp    0x433f84,%ebx
40ff66:	77 3c                	ja     0x40ffa4
40ff68:	6a 09                	push   $0x9
40ff6a:	e8 d1 f4 ff ff       	call   0x40f440
40ff6f:	8b c3                	mov    %ebx,%eax
40ff71:	83 c4 04             	add    $0x4,%esp
40ff74:	c1 e8 04             	shr    $0x4,%eax
40ff77:	50                   	push   %eax
40ff78:	e8 53 fa ff ff       	call   0x40f9d0
40ff7d:	83 c4 04             	add    $0x4,%esp
40ff80:	8b f0                	mov    %eax,%esi
40ff82:	6a 09                	push   $0x9
40ff84:	e8 37 f5 ff ff       	call   0x40f4c0
40ff89:	83 c4 04             	add    $0x4,%esp
40ff8c:	85 f6                	test   %esi,%esi
40ff8e:	74 18                	je     0x40ffa8
40ff90:	8b cb                	mov    %ebx,%ecx
40ff92:	33 c0                	xor    %eax,%eax
40ff94:	8b d1                	mov    %ecx,%edx
40ff96:	8b fe                	mov    %esi,%edi
40ff98:	c1 e9 02             	shr    $0x2,%ecx
40ff9b:	f3 ab                	rep stos %eax,%es:(%edi)
40ff9d:	8b ca                	mov    %edx,%ecx
40ff9f:	83 e1 03             	and    $0x3,%ecx
40ffa2:	f3 aa                	rep stos %al,%es:(%edi)
40ffa4:	85 f6                	test   %esi,%esi
40ffa6:	75 2c                	jne    0x40ffd4
40ffa8:	a1 8c 89 43 00       	mov    0x43898c,%eax
40ffad:	53                   	push   %ebx
40ffae:	6a 08                	push   $0x8
40ffb0:	50                   	push   %eax
40ffb1:	ff d5                	call   *%ebp
40ffb3:	8b f0                	mov    %eax,%esi
40ffb5:	85 f6                	test   %esi,%esi
40ffb7:	75 1b                	jne    0x40ffd4
40ffb9:	a1 54 73 43 00       	mov    0x437354,%eax
40ffbe:	85 c0                	test   %eax,%eax
40ffc0:	74 12                	je     0x40ffd4
40ffc2:	53                   	push   %ebx
40ffc3:	e8 88 f6 ff ff       	call   0x40f650
40ffc8:	83 c4 04             	add    $0x4,%esp
40ffcb:	85 c0                	test   %eax,%eax
40ffcd:	75 8a                	jne    0x40ff59
40ffcf:	5f                   	pop    %edi
40ffd0:	5e                   	pop    %esi
40ffd1:	5d                   	pop    %ebp
40ffd2:	5b                   	pop    %ebx
40ffd3:	c3                   	ret
40ffd4:	8b c6                	mov    %esi,%eax
40ffd6:	5f                   	pop    %edi
40ffd7:	5e                   	pop    %esi
40ffd8:	5d                   	pop    %ebp
40ffd9:	5b                   	pop    %ebx
40ffda:	c3                   	ret
40ffdb:	90                   	nop
40ffdc:	90                   	nop
40ffdd:	90                   	nop
40ffde:	90                   	nop
40ffdf:	90                   	nop
40ffe0:	55                   	push   %ebp
40ffe1:	8b ec                	mov    %esp,%ebp
40ffe3:	56                   	push   %esi
40ffe4:	33 c0                	xor    %eax,%eax
40ffe6:	50                   	push   %eax
40ffe7:	50                   	push   %eax
40ffe8:	50                   	push   %eax
40ffe9:	50                   	push   %eax
40ffea:	50                   	push   %eax
40ffeb:	50                   	push   %eax
40ffec:	50                   	push   %eax
40ffed:	50                   	push   %eax
40ffee:	8b 55 0c             	mov    0xc(%ebp),%edx
40fff1:	2e 8b c0             	cs mov %eax,%eax
40fff4:	8a 02                	mov    (%edx),%al
40fff6:	0a c0                	or     %al,%al
40fff8:	74 07                	je     0x410001
40fffa:	42                   	inc    %edx
40fffb:	0f ab 04 24          	bts    %eax,(%esp)
40ffff:	eb f3                	jmp    0x40fff4
410001:	8b 75 08             	mov    0x8(%ebp),%esi
410004:	8a 06                	mov    (%esi),%al
410006:	0a c0                	or     %al,%al
410008:	74 0a                	je     0x410014
41000a:	46                   	inc    %esi
41000b:	0f a3 04 24          	bt     %eax,(%esp)
41000f:	73 f3                	jae    0x410004
410011:	8d 46 ff             	lea    -0x1(%esi),%eax
410014:	83 c4 20             	add    $0x20,%esp
410017:	5e                   	pop    %esi
410018:	c9                   	leave
410019:	c3                   	ret
41001a:	cc                   	int3
41001b:	cc                   	int3
41001c:	cc                   	int3
41001d:	cc                   	int3
41001e:	cc                   	int3
41001f:	cc                   	int3
410020:	a1 64 73 43 00       	mov    0x437364,%eax
410025:	53                   	push   %ebx
410026:	8b 1d 24 96 43 00    	mov    0x439624,%ebx
41002c:	55                   	push   %ebp
41002d:	56                   	push   %esi
41002e:	57                   	push   %edi
41002f:	85 c0                	test   %eax,%eax
410031:	75 49                	jne    0x41007c
410033:	6a 00                	push   $0x0
410035:	6a 00                	push   $0x0
410037:	6a 01                	push   $0x1
410039:	68 88 c3 42 00       	push   $0x42c388
41003e:	68 00 01 00 00       	push   $0x100
410043:	6a 00                	push   $0x0
410045:	ff d3                	call   *%ebx
410047:	85 c0                	test   %eax,%eax
410049:	74 07                	je     0x410052
41004b:	b8 02 00 00 00       	mov    $0x2,%eax
410050:	eb 25                	jmp    0x410077
410052:	6a 00                	push   $0x0
410054:	6a 00                	push   $0x0
410056:	6a 01                	push   $0x1
410058:	68 8c c3 42 00       	push   $0x42c38c
41005d:	68 00 01 00 00       	push   $0x100
410062:	6a 00                	push   $0x0
410064:	ff 15 28 96 43 00    	call   *0x439628
41006a:	85 c0                	test   %eax,%eax
41006c:	0f 84 c3 01 00 00    	je     0x410235
410072:	b8 01 00 00 00       	mov    $0x1,%eax
410077:	a3 64 73 43 00       	mov    %eax,0x437364
41007c:	8b 74 24 20          	mov    0x20(%esp),%esi
410080:	85 f6                	test   %esi,%esi
410082:	7e 17                	jle    0x41009b
410084:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
410088:	56                   	push   %esi
410089:	57                   	push   %edi
41008a:	e8 b1 01 00 00       	call   0x410240
41008f:	8b f0                	mov    %eax,%esi
410091:	a1 64 73 43 00       	mov    0x437364,%eax
410096:	83 c4 08             	add    $0x8,%esp
410099:	eb 04                	jmp    0x41009f
41009b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
41009f:	83 f8 02             	cmp    $0x2,%eax
4100a2:	75 1d                	jne    0x4100c1
4100a4:	8b 44 24 28          	mov    0x28(%esp),%eax
4100a8:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4100ac:	8b 54 24 18          	mov    0x18(%esp),%edx
4100b0:	50                   	push   %eax
4100b1:	8b 44 24 18          	mov    0x18(%esp),%eax
4100b5:	51                   	push   %ecx
4100b6:	56                   	push   %esi
4100b7:	57                   	push   %edi
4100b8:	52                   	push   %edx
4100b9:	50                   	push   %eax
4100ba:	ff d3                	call   *%ebx
4100bc:	5f                   	pop    %edi
4100bd:	5e                   	pop    %esi
4100be:	5d                   	pop    %ebp
4100bf:	5b                   	pop    %ebx
4100c0:	c3                   	ret
4100c1:	83 f8 01             	cmp    $0x1,%eax
4100c4:	0f 85 d2 00 00 00    	jne    0x41019c
4100ca:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
4100ce:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4100d5:	00
4100d6:	85 ed                	test   %ebp,%ebp
4100d8:	75 0c                	jne    0x4100e6
4100da:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
4100e0:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4100e4:	8b e9                	mov    %ecx,%ebp
4100e6:	6a 00                	push   $0x0
4100e8:	6a 00                	push   $0x0
4100ea:	56                   	push   %esi
4100eb:	57                   	push   %edi
4100ec:	6a 09                	push   $0x9