40fa06:	53                   	push   %ebx
40fa07:	53                   	push   %ebx
40fa08:	e8 18 58 ff ff       	call   0x405225
40fa0d:	83 c4 14             	add    $0x14,%esp
40fa10:	8b c6                	mov    %esi,%eax
40fa12:	eb 3c                	jmp    0x40fa50
40fa14:	8b 75 10             	mov    0x10(%ebp),%esi
40fa17:	3b f3                	cmp    %ebx,%esi
40fa19:	75 04                	jne    0x40fa1f
40fa1b:	88 18                	mov    %bl,(%eax)
40fa1d:	eb da                	jmp    0x40f9f9
40fa1f:	8b d0                	mov    %eax,%edx
40fa21:	38 1a                	cmp    %bl,(%edx)
40fa23:	74 04                	je     0x40fa29
40fa25:	42                   	inc    %edx
40fa26:	4f                   	dec    %edi
40fa27:	75 f8                	jne    0x40fa21
40fa29:	3b fb                	cmp    %ebx,%edi
40fa2b:	74 ee                	je     0x40fa1b
40fa2d:	8a 0e                	mov    (%esi),%cl
40fa2f:	88 0a                	mov    %cl,(%edx)
40fa31:	42                   	inc    %edx
40fa32:	46                   	inc    %esi
40fa33:	3a cb                	cmp    %bl,%cl
40fa35:	74 03                	je     0x40fa3a
40fa37:	4f                   	dec    %edi
40fa38:	75 f3                	jne    0x40fa2d
40fa3a:	3b fb                	cmp    %ebx,%edi
40fa3c:	75 10                	jne    0x40fa4e
40fa3e:	88 18                	mov    %bl,(%eax)
40fa40:	e8 90 60 ff ff       	call   0x405ad5
40fa45:	6a 22                	push   $0x22
40fa47:	59                   	pop    %ecx
40fa48:	89 08                	mov    %ecx,(%eax)
40fa4a:	8b f1                	mov    %ecx,%esi
40fa4c:	eb b5                	jmp    0x40fa03
40fa4e:	33 c0                	xor    %eax,%eax
40fa50:	5f                   	pop    %edi
40fa51:	5e                   	pop    %esi
40fa52:	5b                   	pop    %ebx
40fa53:	5d                   	pop    %ebp
40fa54:	c3                   	ret
40fa55:	cc                   	int3
40fa56:	cc                   	int3
40fa57:	cc                   	int3
40fa58:	cc                   	int3
40fa59:	cc                   	int3
40fa5a:	cc                   	int3
40fa5b:	cc                   	int3
40fa5c:	cc                   	int3
40fa5d:	cc                   	int3
40fa5e:	cc                   	int3
40fa5f:	cc                   	int3
40fa60:	55                   	push   %ebp
40fa61:	8b ec                	mov    %esp,%ebp
40fa63:	56                   	push   %esi
40fa64:	33 c0                	xor    %eax,%eax
40fa66:	50                   	push   %eax
40fa67:	50                   	push   %eax
40fa68:	50                   	push   %eax
40fa69:	50                   	push   %eax
40fa6a:	50                   	push   %eax
40fa6b:	50                   	push   %eax
40fa6c:	50                   	push   %eax
40fa6d:	50                   	push   %eax
40fa6e:	8b 55 0c             	mov    0xc(%ebp),%edx
40fa71:	8d 49 00             	lea    0x0(%ecx),%ecx
40fa74:	8a 02                	mov    (%edx),%al
40fa76:	0a c0                	or     %al,%al
40fa78:	74 09                	je     0x40fa83
40fa7a:	83 c2 01             	add    $0x1,%edx
40fa7d:	0f ab 04 24          	bts    %eax,(%esp)
40fa81:	eb f1                	jmp    0x40fa74
40fa83:	8b 75 08             	mov    0x8(%ebp),%esi
40fa86:	83 c9 ff             	or     $0xffffffff,%ecx
40fa89:	8d 49 00             	lea    0x0(%ecx),%ecx
40fa8c:	83 c1 01             	add    $0x1,%ecx
40fa8f:	8a 06                	mov    (%esi),%al
40fa91:	0a c0                	or     %al,%al
40fa93:	74 09                	je     0x40fa9e
40fa95:	83 c6 01             	add    $0x1,%esi
40fa98:	0f a3 04 24          	bt     %eax,(%esp)
40fa9c:	73 ee                	jae    0x40fa8c
40fa9e:	8b c1                	mov    %ecx,%eax
40faa0:	83 c4 20             	add    $0x20,%esp
40faa3:	5e                   	pop    %esi
40faa4:	c9                   	leave
40faa5:	c3                   	ret
40faa6:	8b ff                	mov    %edi,%edi
40faa8:	55                   	push   %ebp
40faa9:	8b ec                	mov    %esp,%ebp
40faab:	53                   	push   %ebx
40faac:	56                   	push   %esi
40faad:	8b 75 08             	mov    0x8(%ebp),%esi
40fab0:	33 db                	xor    %ebx,%ebx
40fab2:	57                   	push   %edi
40fab3:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40fab6:	75 10                	jne    0x40fac8
40fab8:	3b f3                	cmp    %ebx,%esi
40faba:	75 10                	jne    0x40facc
40fabc:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
40fabf:	75 12                	jne    0x40fad3
40fac1:	33 c0                	xor    %eax,%eax
40fac3:	5f                   	pop    %edi
40fac4:	5e                   	pop    %esi
40fac5:	5b                   	pop    %ebx
40fac6:	5d                   	pop    %ebp
40fac7:	c3                   	ret
40fac8:	3b f3                	cmp    %ebx,%esi
40faca:	74 07                	je     0x40fad3
40facc:	8b 7d 0c             	mov    0xc(%ebp),%edi
40facf:	3b fb                	cmp    %ebx,%edi
40fad1:	77 1b                	ja     0x40faee
40fad3:	e8 fd 5f ff ff       	call   0x405ad5
40fad8:	6a 16                	push   $0x16
40fada:	5e                   	pop    %esi
40fadb:	89 30                	mov    %esi,(%eax)
40fadd:	53                   	push   %ebx
40fade:	53                   	push   %ebx
40fadf:	53                   	push   %ebx
40fae0:	53                   	push   %ebx
40fae1:	53                   	push   %ebx
40fae2:	e8 3e 57 ff ff       	call   0x405225
40fae7:	83 c4 14             	add    $0x14,%esp
40faea:	8b c6                	mov    %esi,%eax
40faec:	eb d5                	jmp    0x40fac3
40faee:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40faf1:	75 04                	jne    0x40faf7
40faf3:	88 1e                	mov    %bl,(%esi)
40faf5:	eb ca                	jmp    0x40fac1
40faf7:	8b 55 10             	mov    0x10(%ebp),%edx
40fafa:	3b d3                	cmp    %ebx,%edx
40fafc:	75 04                	jne    0x40fb02
40fafe:	88 1e                	mov    %bl,(%esi)
40fb00:	eb d1                	jmp    0x40fad3
40fb02:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
40fb06:	8b c6                	mov    %esi,%eax
40fb08:	75 0f                	jne    0x40fb19
40fb0a:	8a 0a                	mov    (%edx),%cl
40fb0c:	88 08                	mov    %cl,(%eax)
40fb0e:	40                   	inc    %eax
40fb0f:	42                   	inc    %edx
40fb10:	3a cb                	cmp    %bl,%cl
40fb12:	74 1e                	je     0x40fb32
40fb14:	4f                   	dec    %edi
40fb15:	75 f3                	jne    0x40fb0a
40fb17:	eb 19                	jmp    0x40fb32
40fb19:	8a 0a                	mov    (%edx),%cl
40fb1b:	88 08                	mov    %cl,(%eax)
40fb1d:	40                   	inc    %eax
40fb1e:	42                   	inc    %edx
40fb1f:	3a cb                	cmp    %bl,%cl
40fb21:	74 08                	je     0x40fb2b
40fb23:	4f                   	dec    %edi
40fb24:	74 05                	je     0x40fb2b
40fb26:	ff 4d 14             	decl   0x14(%ebp)
40fb29:	75 ee                	jne    0x40fb19
40fb2b:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40fb2e:	75 02                	jne    0x40fb32
40fb30:	88 18                	mov    %bl,(%eax)
40fb32:	3b fb                	cmp    %ebx,%edi
40fb34:	75 8b                	jne    0x40fac1
40fb36:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
40fb3a:	75 0f                	jne    0x40fb4b
40fb3c:	8b 45 0c             	mov    0xc(%ebp),%eax
40fb3f:	6a 50                	push   $0x50
40fb41:	88 5c 06 ff          	mov    %bl,-0x1(%esi,%eax,1)
40fb45:	58                   	pop    %eax
40fb46:	e9 78 ff ff ff       	jmp    0x40fac3
40fb4b:	88 1e                	mov    %bl,(%esi)
40fb4d:	e8 83 5f ff ff       	call   0x405ad5
40fb52:	6a 22                	push   $0x22
40fb54:	59                   	pop    %ecx
40fb55:	89 08                	mov    %ecx,(%eax)
40fb57:	8b f1                	mov    %ecx,%esi
40fb59:	eb 82                	jmp    0x40fadd
40fb5b:	8b ff                	mov    %edi,%edi
40fb5d:	55                   	push   %ebp
40fb5e:	8b ec                	mov    %esp,%ebp
40fb60:	33 c0                	xor    %eax,%eax
40fb62:	53                   	push   %ebx
40fb63:	33 db                	xor    %ebx,%ebx
40fb65:	40                   	inc    %eax
40fb66:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
40fb69:	7c 46                	jl     0x40fbb1
40fb6b:	56                   	push   %esi
40fb6c:	57                   	push   %edi
40fb6d:	85 c0                	test   %eax,%eax
40fb6f:	74 3e                	je     0x40fbaf
40fb71:	8b 45 0c             	mov    0xc(%ebp),%eax
40fb74:	03 c3                	add    %ebx,%eax
40fb76:	99                   	cltd
40fb77:	2b c2                	sub    %edx,%eax
40fb79:	8b f0                	mov    %eax,%esi
40fb7b:	8b 45 08             	mov    0x8(%ebp),%eax
40fb7e:	d1 fe                	sar    $1,%esi
40fb80:	8d 3c f0             	lea    (%eax,%esi,8),%edi
40fb83:	ff 37                	push   (%edi)
40fb85:	8b 45 10             	mov    0x10(%ebp),%eax
40fb88:	ff 30                	push   (%eax)
40fb8a:	e8 e9 5e 00 00       	call   0x415a78
40fb8f:	59                   	pop    %ecx
40fb90:	59                   	pop    %ecx
40fb91:	85 c0                	test   %eax,%eax
40fb93:	75 0a                	jne    0x40fb9f
40fb95:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fb98:	83 c7 04             	add    $0x4,%edi
40fb9b:	89 39                	mov    %edi,(%ecx)
40fb9d:	eb 0b                	jmp    0x40fbaa
40fb9f:	7d 06                	jge    0x40fba7
40fba1:	4e                   	dec    %esi
40fba2:	89 75 0c             	mov    %esi,0xc(%ebp)
40fba5:	eb 03                	jmp    0x40fbaa
40fba7:	8d 5e 01             	lea    0x1(%esi),%ebx
40fbaa:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
40fbad:	7e be                	jle    0x40fb6d
40fbaf:	5f                   	pop    %edi
40fbb0:	5e                   	pop    %esi
40fbb1:	33 c9                	xor    %ecx,%ecx
40fbb3:	85 c0                	test   %eax,%eax
40fbb5:	0f 94 c1             	sete   %cl
40fbb8:	5b                   	pop    %ebx
40fbb9:	8b c1                	mov    %ecx,%eax
40fbbb:	5d                   	pop    %ebp
40fbbc:	c3                   	ret
40fbbd:	8b ff                	mov    %edi,%edi
40fbbf:	55                   	push   %ebp
40fbc0:	8b ec                	mov    %esp,%ebp
40fbc2:	83 ec 0c             	sub    $0xc,%esp
40fbc5:	a1 68 b2 42 00       	mov    0x42b268,%eax
40fbca:	33 c5                	xor    %ebp,%eax
40fbcc:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fbcf:	56                   	push   %esi
40fbd0:	8b f1                	mov    %ecx,%esi
40fbd2:	85 f6                	test   %esi,%esi
40fbd4:	74 53                	je     0x40fc29
40fbd6:	80 3e 00             	cmpb   $0x0,(%esi)
40fbd9:	74 4e                	je     0x40fc29
40fbdb:	68 14 d5 41 00       	push   $0x41d514
40fbe0:	56                   	push   %esi
40fbe1:	e8 4a c6 ff ff       	call   0x40c230
40fbe6:	59                   	pop    %ecx
40fbe7:	59                   	pop    %ecx
40fbe8:	85 c0                	test   %eax,%eax
40fbea:	74 3d                	je     0x40fc29
40fbec:	68 10 d5 41 00       	push   $0x41d510
40fbf1:	56                   	push   %esi
40fbf2:	e8 39 c6 ff ff       	call   0x40c230
40fbf7:	59                   	pop    %ecx
40fbf8:	59                   	pop    %ecx
40fbf9:	85 c0                	test   %eax,%eax
40fbfb:	75 18                	jne    0x40fc15
40fbfd:	6a 08                	push   $0x8
40fbff:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fc02:	50                   	push   %eax
40fc03:	6a 0b                	push   $0xb
40fc05:	ff 77 1c             	push   0x1c(%edi)
40fc08:	ff 15 50 a1 41 00    	call   *0x41a150
40fc0e:	85 c0                	test   %eax,%eax
40fc10:	74 2f                	je     0x40fc41
40fc12:	8d 75 f4             	lea    -0xc(%ebp),%esi
40fc15:	56                   	push   %esi
40fc16:	e8 af 5e 00 00       	call   0x415aca
40fc1b:	59                   	pop    %ecx
40fc1c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fc1f:	33 cd                	xor    %ebp,%ecx
40fc21:	5e                   	pop    %esi
40fc22:	e8 ff 69 ff ff       	call   0x406626
40fc27:	c9                   	leave
40fc28:	c3                   	ret
40fc29:	6a 08                	push   $0x8
40fc2b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fc2e:	50                   	push   %eax
40fc2f:	68 04 10 00 00       	push   $0x1004
40fc34:	ff 77 1c             	push   0x1c(%edi)
40fc37:	ff 15 50 a1 41 00    	call   *0x41a150
40fc3d:	85 c0                	test   %eax,%eax
40fc3f:	75 04                	jne    0x40fc45
40fc41:	33 c0                	xor    %eax,%eax
40fc43:	eb d7                	jmp    0x40fc1c
40fc45:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fc48:	68 0c d5 41 00       	push   $0x41d50c
40fc4d:	50                   	push   %eax
40fc4e:	e8 dd c5 ff ff       	call   0x40c230
40fc53:	59                   	pop    %ecx
40fc54:	59                   	pop    %ecx
40fc55:	85 c0                	test   %eax,%eax
40fc57:	75 b9                	jne    0x40fc12
40fc59:	ff 15 3c a0 41 00    	call   *0x41a03c
40fc5f:	eb bb                	jmp    0x40fc1c
40fc61:	8b ff                	mov    %edi,%edi
40fc63:	55                   	push   %ebp
40fc64:	8b ec                	mov    %esp,%ebp
40fc66:	33 c0                	xor    %eax,%eax
40fc68:	66 8b 4d 08          	mov    0x8(%ebp),%cx
40fc6c:	66 3b 88 f8 d4 41 00 	cmp    0x41d4f8(%eax),%cx
40fc73:	74 0c                	je     0x40fc81
40fc75:	40                   	inc    %eax
40fc76:	40                   	inc    %eax
40fc77:	83 f8 14             	cmp    $0x14,%eax
40fc7a:	72 ec                	jb     0x40fc68
40fc7c:	33 c0                	xor    %eax,%eax
40fc7e:	40                   	inc    %eax
40fc7f:	5d                   	pop    %ebp
40fc80:	c3                   	ret
40fc81:	33 c0                	xor    %eax,%eax
40fc83:	5d                   	pop    %ebp
40fc84:	c3                   	ret
40fc85:	8b ff                	mov    %edi,%edi
40fc87:	56                   	push   %esi
40fc88:	33 f6                	xor    %esi,%esi
40fc8a:	eb 23                	jmp    0x40fcaf
40fc8c:	8a c1                	mov    %cl,%al
40fc8e:	2c 61                	sub    $0x61,%al
40fc90:	42                   	inc    %edx
40fc91:	3c 05                	cmp    $0x5,%al
40fc93:	77 05                	ja     0x40fc9a
40fc95:	80 c1 d9             	add    $0xd9,%cl
40fc98:	eb 0b                	jmp    0x40fca5
40fc9a:	8a c1                	mov    %cl,%al
40fc9c:	2c 41                	sub    $0x41,%al
40fc9e:	3c 05                	cmp    $0x5,%al
40fca0:	77 03                	ja     0x40fca5
40fca2:	80 c1 f9             	add    $0xf9,%cl
40fca5:	0f be c1             	movsbl %cl,%eax
40fca8:	c1 e6 04             	shl    $0x4,%esi
40fcab:	8d 74 06 d0          	lea    -0x30(%esi,%eax,1),%esi
40fcaf:	8a 0a                	mov    (%edx),%cl
40fcb1:	84 c9                	test   %cl,%cl
40fcb3:	75 d7                	jne    0x40fc8c
40fcb5:	8b c6                	mov    %esi,%eax
40fcb7:	5e                   	pop    %esi
40fcb8:	c3                   	ret
40fcb9:	33 c0                	xor    %eax,%eax
40fcbb:	8a 0a                	mov    (%edx),%cl
40fcbd:	42                   	inc    %edx
40fcbe:	80 f9 41             	cmp    $0x41,%cl
40fcc1:	7c 05                	jl     0x40fcc8
40fcc3:	80 f9 5a             	cmp    $0x5a,%cl
40fcc6:	7e 08                	jle    0x40fcd0
40fcc8:	80 e9 61             	sub    $0x61,%cl
40fccb:	80 f9 19             	cmp    $0x19,%cl
40fcce:	77 03                	ja     0x40fcd3
40fcd0:	40                   	inc    %eax
40fcd1:	eb e8                	jmp    0x40fcbb
40fcd3:	c3                   	ret
40fcd4:	8b ff                	mov    %edi,%edi
40fcd6:	55                   	push   %ebp
40fcd7:	8b ec                	mov    %esp,%ebp
40fcd9:	83 ec 7c             	sub    $0x7c,%esp