421e65:	e8 4f cb ff ff       	call   0x41e9b9
421e6a:	59                   	pop    %ecx
421e6b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
421e6e:	c3                   	ret
421e6f:	8b ff                	mov    %edi,%edi
421e71:	55                   	push   %ebp
421e72:	8b ec                	mov    %esp,%ebp
421e74:	8b 45 08             	mov    0x8(%ebp),%eax
421e77:	85 c0                	test   %eax,%eax
421e79:	74 12                	je     0x421e8d
421e7b:	83 e8 08             	sub    $0x8,%eax
421e7e:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
421e84:	75 07                	jne    0x421e8d
421e86:	50                   	push   %eax
421e87:	e8 56 80 ff ff       	call   0x419ee2
421e8c:	59                   	pop    %ecx
421e8d:	5d                   	pop    %ebp
421e8e:	c3                   	ret
421e8f:	8b ff                	mov    %edi,%edi
421e91:	55                   	push   %ebp
421e92:	8b ec                	mov    %esp,%ebp
421e94:	83 ec 14             	sub    $0x14,%esp
421e97:	a1 98 f2 42 00       	mov    0x42f298,%eax
421e9c:	33 c5                	xor    %ebp,%eax
421e9e:	89 45 fc             	mov    %eax,-0x4(%ebp)
421ea1:	53                   	push   %ebx
421ea2:	56                   	push   %esi
421ea3:	33 db                	xor    %ebx,%ebx
421ea5:	57                   	push   %edi
421ea6:	8b f1                	mov    %ecx,%esi
421ea8:	39 1d 0c f2 44 00    	cmp    %ebx,0x44f20c
421eae:	75 38                	jne    0x421ee8
421eb0:	53                   	push   %ebx
421eb1:	53                   	push   %ebx
421eb2:	33 ff                	xor    %edi,%edi
421eb4:	47                   	inc    %edi
421eb5:	57                   	push   %edi
421eb6:	68 1c b9 42 00       	push   $0x42b91c
421ebb:	68 00 01 00 00       	push   $0x100
421ec0:	53                   	push   %ebx
421ec1:	ff 15 84 a1 42 00    	call   *0x42a184
421ec7:	85 c0                	test   %eax,%eax
421ec9:	74 08                	je     0x421ed3
421ecb:	89 3d 0c f2 44 00    	mov    %edi,0x44f20c
421ed1:	eb 15                	jmp    0x421ee8
421ed3:	ff 15 24 a2 42 00    	call   *0x42a224
421ed9:	83 f8 78             	cmp    $0x78,%eax
421edc:	75 0a                	jne    0x421ee8
421ede:	c7 05 0c f2 44 00 02 	movl   $0x2,0x44f20c
421ee5:	00 00 00
421ee8:	39 5d 14             	cmp    %ebx,0x14(%ebp)
421eeb:	7e 22                	jle    0x421f0f
421eed:	8b 4d 14             	mov    0x14(%ebp),%ecx
421ef0:	8b 45 10             	mov    0x10(%ebp),%eax
421ef3:	49                   	dec    %ecx
421ef4:	38 18                	cmp    %bl,(%eax)
421ef6:	74 08                	je     0x421f00
421ef8:	40                   	inc    %eax
421ef9:	3b cb                	cmp    %ebx,%ecx
421efb:	75 f6                	jne    0x421ef3
421efd:	83 c9 ff             	or     $0xffffffff,%ecx
421f00:	8b 45 14             	mov    0x14(%ebp),%eax
421f03:	2b c1                	sub    %ecx,%eax
421f05:	48                   	dec    %eax
421f06:	3b 45 14             	cmp    0x14(%ebp),%eax
421f09:	7d 01                	jge    0x421f0c
421f0b:	40                   	inc    %eax
421f0c:	89 45 14             	mov    %eax,0x14(%ebp)
421f0f:	a1 0c f2 44 00       	mov    0x44f20c,%eax
421f14:	83 f8 02             	cmp    $0x2,%eax
421f17:	0f 84 ac 01 00 00    	je     0x4220c9
421f1d:	3b c3                	cmp    %ebx,%eax
421f1f:	0f 84 a4 01 00 00    	je     0x4220c9
421f25:	83 f8 01             	cmp    $0x1,%eax
421f28:	0f 85 cc 01 00 00    	jne    0x4220fa
421f2e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
421f31:	39 5d 20             	cmp    %ebx,0x20(%ebp)
421f34:	75 08                	jne    0x421f3e
421f36:	8b 06                	mov    (%esi),%eax
421f38:	8b 40 04             	mov    0x4(%eax),%eax
421f3b:	89 45 20             	mov    %eax,0x20(%ebp)
421f3e:	8b 35 2c a2 42 00    	mov    0x42a22c,%esi
421f44:	33 c0                	xor    %eax,%eax
421f46:	39 5d 24             	cmp    %ebx,0x24(%ebp)
421f49:	53                   	push   %ebx
421f4a:	53                   	push   %ebx
421f4b:	ff 75 14             	push   0x14(%ebp)
421f4e:	0f 95 c0             	setne  %al
421f51:	ff 75 10             	push   0x10(%ebp)
421f54:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
421f5b:	50                   	push   %eax
421f5c:	ff 75 20             	push   0x20(%ebp)
421f5f:	ff d6                	call   *%esi
421f61:	8b f8                	mov    %eax,%edi
421f63:	3b fb                	cmp    %ebx,%edi
421f65:	0f 84 8f 01 00 00    	je     0x4220fa
421f6b:	7e 43                	jle    0x421fb0
421f6d:	6a e0                	push   $0xffffffe0
421f6f:	33 d2                	xor    %edx,%edx
421f71:	58                   	pop    %eax
421f72:	f7 f7                	div    %edi
421f74:	83 f8 02             	cmp    $0x2,%eax
421f77:	72 37                	jb     0x421fb0
421f79:	8d 44 3f 08          	lea    0x8(%edi,%edi,1),%eax
421f7d:	3d 00 04 00 00       	cmp    $0x400,%eax
421f82:	77 13                	ja     0x421f97
421f84:	e8 27 3d 00 00       	call   0x425cb0
421f89:	8b c4                	mov    %esp,%eax
421f8b:	3b c3                	cmp    %ebx,%eax
421f8d:	74 1c                	je     0x421fab
421f8f:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
421f95:	eb 11                	jmp    0x421fa8
421f97:	50                   	push   %eax
421f98:	e8 c1 a9 ff ff       	call   0x41c95e
421f9d:	59                   	pop    %ecx
421f9e:	3b c3                	cmp    %ebx,%eax
421fa0:	74 09                	je     0x421fab
421fa2:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
421fa8:	83 c0 08             	add    $0x8,%eax
421fab:	89 45 f4             	mov    %eax,-0xc(%ebp)
421fae:	eb 03                	jmp    0x421fb3
421fb0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
421fb3:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
421fb6:	0f 84 3e 01 00 00    	je     0x4220fa
421fbc:	57                   	push   %edi
421fbd:	ff 75 f4             	push   -0xc(%ebp)
421fc0:	ff 75 14             	push   0x14(%ebp)
421fc3:	ff 75 10             	push   0x10(%ebp)
421fc6:	6a 01                	push   $0x1
421fc8:	ff 75 20             	push   0x20(%ebp)
421fcb:	ff d6                	call   *%esi
421fcd:	85 c0                	test   %eax,%eax
421fcf:	0f 84 e3 00 00 00    	je     0x4220b8
421fd5:	8b 35 84 a1 42 00    	mov    0x42a184,%esi
421fdb:	53                   	push   %ebx
421fdc:	53                   	push   %ebx
421fdd:	57                   	push   %edi
421fde:	ff 75 f4             	push   -0xc(%ebp)
421fe1:	ff 75 0c             	push   0xc(%ebp)
421fe4:	ff 75 08             	push   0x8(%ebp)
421fe7:	ff d6                	call   *%esi
421fe9:	8b c8                	mov    %eax,%ecx
421feb:	89 4d f8             	mov    %ecx,-0x8(%ebp)
421fee:	3b cb                	cmp    %ebx,%ecx
421ff0:	0f 84 c2 00 00 00    	je     0x4220b8
421ff6:	f7 45 0c 00 04 00 00 	testl  $0x400,0xc(%ebp)
421ffd:	74 29                	je     0x422028
421fff:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
422002:	0f 84 b0 00 00 00    	je     0x4220b8
422008:	3b 4d 1c             	cmp    0x1c(%ebp),%ecx
42200b:	0f 8f a7 00 00 00    	jg     0x4220b8
422011:	ff 75 1c             	push   0x1c(%ebp)
422014:	ff 75 18             	push   0x18(%ebp)
422017:	57                   	push   %edi
422018:	ff 75 f4             	push   -0xc(%ebp)
42201b:	ff 75 0c             	push   0xc(%ebp)
42201e:	ff 75 08             	push   0x8(%ebp)
422021:	ff d6                	call   *%esi
422023:	e9 90 00 00 00       	jmp    0x4220b8
422028:	3b cb                	cmp    %ebx,%ecx
42202a:	7e 45                	jle    0x422071
42202c:	6a e0                	push   $0xffffffe0
42202e:	33 d2                	xor    %edx,%edx
422030:	58                   	pop    %eax
422031:	f7 f1                	div    %ecx
422033:	83 f8 02             	cmp    $0x2,%eax
422036:	72 39                	jb     0x422071
422038:	8d 44 09 08          	lea    0x8(%ecx,%ecx,1),%eax
42203c:	3d 00 04 00 00       	cmp    $0x400,%eax
422041:	77 16                	ja     0x422059
422043:	e8 68 3c 00 00       	call   0x425cb0
422048:	8b f4                	mov    %esp,%esi
42204a:	3b f3                	cmp    %ebx,%esi
42204c:	74 6a                	je     0x4220b8
42204e:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
422054:	83 c6 08             	add    $0x8,%esi
422057:	eb 1a                	jmp    0x422073
422059:	50                   	push   %eax
42205a:	e8 ff a8 ff ff       	call   0x41c95e
42205f:	59                   	pop    %ecx
422060:	3b c3                	cmp    %ebx,%eax
422062:	74 09                	je     0x42206d
422064:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
42206a:	83 c0 08             	add    $0x8,%eax
42206d:	8b f0                	mov    %eax,%esi
42206f:	eb 02                	jmp    0x422073
422071:	33 f6                	xor    %esi,%esi
422073:	3b f3                	cmp    %ebx,%esi
422075:	74 41                	je     0x4220b8
422077:	ff 75 f8             	push   -0x8(%ebp)
42207a:	56                   	push   %esi
42207b:	57                   	push   %edi
42207c:	ff 75 f4             	push   -0xc(%ebp)
42207f:	ff 75 0c             	push   0xc(%ebp)
422082:	ff 75 08             	push   0x8(%ebp)
422085:	ff 15 84 a1 42 00    	call   *0x42a184
42208b:	85 c0                	test   %eax,%eax
42208d:	74 22                	je     0x4220b1
42208f:	53                   	push   %ebx
422090:	53                   	push   %ebx
422091:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
422094:	75 04                	jne    0x42209a
422096:	53                   	push   %ebx
422097:	53                   	push   %ebx
422098:	eb 06                	jmp    0x4220a0
42209a:	ff 75 1c             	push   0x1c(%ebp)
42209d:	ff 75 18             	push   0x18(%ebp)
4220a0:	ff 75 f8             	push   -0x8(%ebp)
4220a3:	56                   	push   %esi
4220a4:	53                   	push   %ebx
4220a5:	ff 75 20             	push   0x20(%ebp)
4220a8:	ff 15 20 a1 42 00    	call   *0x42a120
4220ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
4220b1:	56                   	push   %esi
4220b2:	e8 b8 fd ff ff       	call   0x421e6f
4220b7:	59                   	pop    %ecx
4220b8:	ff 75 f4             	push   -0xc(%ebp)
4220bb:	e8 af fd ff ff       	call   0x421e6f
4220c0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4220c3:	59                   	pop    %ecx
4220c4:	e9 59 01 00 00       	jmp    0x422222
4220c9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4220cc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4220cf:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4220d2:	75 08                	jne    0x4220dc
4220d4:	8b 06                	mov    (%esi),%eax
4220d6:	8b 40 14             	mov    0x14(%eax),%eax
4220d9:	89 45 08             	mov    %eax,0x8(%ebp)
4220dc:	39 5d 20             	cmp    %ebx,0x20(%ebp)
4220df:	75 08                	jne    0x4220e9
4220e1:	8b 06                	mov    (%esi),%eax
4220e3:	8b 40 04             	mov    0x4(%eax),%eax
4220e6:	89 45 20             	mov    %eax,0x20(%ebp)
4220e9:	ff 75 08             	push   0x8(%ebp)
4220ec:	e8 bf 39 00 00       	call   0x425ab0
4220f1:	59                   	pop    %ecx
4220f2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4220f5:	83 f8 ff             	cmp    $0xffffffff,%eax
4220f8:	75 07                	jne    0x422101
4220fa:	33 c0                	xor    %eax,%eax
4220fc:	e9 21 01 00 00       	jmp    0x422222
422101:	3b 45 20             	cmp    0x20(%ebp),%eax
422104:	0f 84 db 00 00 00    	je     0x4221e5
42210a:	53                   	push   %ebx
42210b:	53                   	push   %ebx
42210c:	8d 4d 14             	lea    0x14(%ebp),%ecx
42210f:	51                   	push   %ecx
422110:	ff 75 10             	push   0x10(%ebp)
422113:	50                   	push   %eax
422114:	ff 75 20             	push   0x20(%ebp)
422117:	e8 dd 39 00 00       	call   0x425af9
42211c:	83 c4 18             	add    $0x18,%esp
42211f:	89 45 f4             	mov    %eax,-0xc(%ebp)
422122:	3b c3                	cmp    %ebx,%eax
422124:	74 d4                	je     0x4220fa
422126:	8b 35 88 a1 42 00    	mov    0x42a188,%esi
42212c:	53                   	push   %ebx
42212d:	53                   	push   %ebx
42212e:	ff 75 14             	push   0x14(%ebp)
422131:	50                   	push   %eax
422132:	ff 75 0c             	push   0xc(%ebp)
422135:	ff 75 08             	push   0x8(%ebp)
422138:	ff d6                	call   *%esi
42213a:	89 45 f8             	mov    %eax,-0x8(%ebp)
42213d:	3b c3                	cmp    %ebx,%eax
42213f:	75 07                	jne    0x422148
422141:	33 f6                	xor    %esi,%esi
422143:	e9 b7 00 00 00       	jmp    0x4221ff
422148:	7e 3d                	jle    0x422187
42214a:	83 f8 e0             	cmp    $0xffffffe0,%eax
42214d:	77 38                	ja     0x422187
42214f:	83 c0 08             	add    $0x8,%eax
422152:	3d 00 04 00 00       	cmp    $0x400,%eax
422157:	77 16                	ja     0x42216f
422159:	e8 52 3b 00 00       	call   0x425cb0
42215e:	8b fc                	mov    %esp,%edi
422160:	3b fb                	cmp    %ebx,%edi
422162:	74 dd                	je     0x422141
422164:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
42216a:	83 c7 08             	add    $0x8,%edi
42216d:	eb 1a                	jmp    0x422189
42216f:	50                   	push   %eax
422170:	e8 e9 a7 ff ff       	call   0x41c95e
422175:	59                   	pop    %ecx
422176:	3b c3                	cmp    %ebx,%eax
422178:	74 09                	je     0x422183
42217a:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
422180:	83 c0 08             	add    $0x8,%eax
422183:	8b f8                	mov    %eax,%edi
422185:	eb 02                	jmp    0x422189
422187:	33 ff                	xor    %edi,%edi
422189:	3b fb                	cmp    %ebx,%edi
42218b:	74 b4                	je     0x422141
42218d:	ff 75 f8             	push   -0x8(%ebp)
422190:	53                   	push   %ebx
422191:	57                   	push   %edi
422192:	e8 69 80 ff ff       	call   0x41a200
422197:	83 c4 0c             	add    $0xc,%esp
42219a:	ff 75 f8             	push   -0x8(%ebp)
42219d:	57                   	push   %edi
42219e:	ff 75 14             	push   0x14(%ebp)
4221a1:	ff 75 f4             	push   -0xc(%ebp)
4221a4:	ff 75 0c             	push   0xc(%ebp)
4221a7:	ff 75 08             	push   0x8(%ebp)
4221aa:	ff d6                	call   *%esi
4221ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
4221af:	3b c3                	cmp    %ebx,%eax
4221b1:	75 04                	jne    0x4221b7
4221b3:	33 f6                	xor    %esi,%esi
4221b5:	eb 25                	jmp    0x4221dc
4221b7:	ff 75 1c             	push   0x1c(%ebp)
4221ba:	8d 45 f8             	lea    -0x8(%ebp),%eax
4221bd:	ff 75 18             	push   0x18(%ebp)
4221c0:	50                   	push   %eax
4221c1:	57                   	push   %edi
4221c2:	ff 75 20             	push   0x20(%ebp)
4221c5:	ff 75 ec             	push   -0x14(%ebp)
4221c8:	e8 2c 39 00 00       	call   0x425af9
4221cd:	8b f0                	mov    %eax,%esi
4221cf:	89 75 f0             	mov    %esi,-0x10(%ebp)
4221d2:	83 c4 18             	add    $0x18,%esp
4221d5:	f7 de                	neg    %esi
4221d7:	1b f6                	sbb    %esi,%esi
4221d9:	23 75 f8             	and    -0x8(%ebp),%esi
4221dc:	57                   	push   %edi
4221dd:	e8 8d fc ff ff       	call   0x421e6f
4221e2:	59                   	pop    %ecx
4221e3:	eb 1a                	jmp    0x4221ff
4221e5:	ff 75 1c             	push   0x1c(%ebp)
4221e8:	ff 75 18             	push   0x18(%ebp)
4221eb:	ff 75 14             	push   0x14(%ebp)
4221ee:	ff 75 10             	push   0x10(%ebp)
4221f1:	ff 75 0c             	push   0xc(%ebp)
4221f4:	ff 75 08             	push   0x8(%ebp)
4221f7:	ff 15 88 a1 42 00    	call   *0x42a188
4221fd:	8b f0                	mov    %eax,%esi
4221ff:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
422202:	74 09                	je     0x42220d
422204:	ff 75 f4             	push   -0xc(%ebp)
422207:	e8 d6 7c ff ff       	call   0x419ee2
42220c:	59                   	pop    %ecx
42220d:	8b 45 f0             	mov    -0x10(%ebp),%eax
422210:	3b c3                	cmp    %ebx,%eax
422212:	74 0c                	je     0x422220
422214:	39 45 18             	cmp    %eax,0x18(%ebp)
422217:	74 07                	je     0x422220
422219:	50                   	push   %eax
42221a:	e8 c3 7c ff ff       	call   0x419ee2
42221f:	59                   	pop    %ecx
422220:	8b c6                	mov    %esi,%eax