421dfb:	83 c1 fc             	add    $0xfffffffc,%ecx
421dfe:	50                   	push   %eax
421dff:	68 08 41 40 00       	push   $0x404108
421e04:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
421e07:	50                   	push   %eax
421e08:	ff 15 28 a4 44 00    	call   *0x44a428
421e0e:	83 c4 0c             	add    $0xc,%esp
421e11:	f7 d8                	neg    %eax
421e13:	1a c0                	sbb    %al,%al
421e15:	22 44 24 1b          	and    0x1b(%esp),%al
421e19:	eb 04                	jmp    0x421e1f
421e1b:	8a 44 24 1b          	mov    0x1b(%esp),%al
421e1f:	83 64 24 0c fb       	andl   $0xfffffffb,0xc(%esp)
421e24:	8d 8c 24 98 03 00 00 	lea    0x398(%esp),%ecx
421e2b:	0f b6 c0             	movzbl %al,%eax
421e2e:	f7 d8                	neg    %eax
421e30:	1b c0                	sbb    %eax,%eax
421e32:	23 c1                	and    %ecx,%eax
421e34:	80 7c 24 22 00       	cmpb   $0x0,0x22(%esp)
421e39:	8b 4c 24 24          	mov    0x24(%esp),%ecx
421e3d:	75 04                	jne    0x421e43
421e3f:	8b 4c 24 34          	mov    0x34(%esp),%ecx
421e43:	51                   	push   %ecx
421e44:	8d 54 24 74          	lea    0x74(%esp),%edx
421e48:	52                   	push   %edx
421e49:	50                   	push   %eax
421e4a:	ff 74 24 68          	push   0x68(%esp)
421e4e:	0f b7 84 24 c0 00 00 	movzwl 0xc0(%esp),%eax
421e55:	00
421e56:	8b d7                	mov    %edi,%edx
421e58:	50                   	push   %eax
421e59:	ff 74 24 5c          	push   0x5c(%esp)
421e5d:	51                   	push   %ecx
421e5e:	8b 4c 24 28          	mov    0x28(%esp),%ecx
421e62:	e8 9a 98 00 00       	call   0x42b701
421e67:	85 c0                	test   %eax,%eax
421e69:	0f 84 7b fc ff ff    	je     0x421aea
421e6f:	e9 0b 41 ff ff       	jmp    0x415f7f
421e74:	8b c8                	mov    %eax,%ecx
421e76:	e8 71 63 fe ff       	call   0x4081ec
421e7b:	a3 dc 65 43 00       	mov    %eax,0x4365dc
421e80:	e9 14 41 ff ff       	jmp    0x415f99
421e85:	33 c0                	xor    %eax,%eax
421e87:	85 d2                	test   %edx,%edx
421e89:	0f 94 c0             	sete   %al
421e8c:	8b d0                	mov    %eax,%edx
421e8e:	89 55 fc             	mov    %edx,-0x4(%ebp)
421e91:	e9 22 43 ff ff       	jmp    0x4161b8
421e96:	8b 0e                	mov    (%esi),%ecx
421e98:	66 89 01             	mov    %ax,(%ecx)
421e9b:	8d 04 7d 02 00 00 00 	lea    0x2(,%edi,2),%eax
421ea2:	2b c8                	sub    %eax,%ecx
421ea4:	51                   	push   %ecx
421ea5:	6a 01                	push   $0x1
421ea7:	68 62 23 00 00       	push   $0x2362
421eac:	89 0e                	mov    %ecx,(%esi)
421eae:	e8 31 5a fe ff       	call   0x4078e4
421eb3:	33 c0                	xor    %eax,%eax
421eb5:	83 c4 0c             	add    $0xc,%esp
421eb8:	40                   	inc    %eax
421eb9:	e9 21 43 ff ff       	jmp    0x4161df
421ebe:	8d 4a 02             	lea    0x2(%edx),%ecx
421ec1:	66 8b 02             	mov    (%edx),%ax
421ec4:	83 c2 02             	add    $0x2,%edx
421ec7:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
421ecb:	75 f4                	jne    0x421ec1
421ecd:	2b d1                	sub    %ecx,%edx
421ecf:	d1 fa                	sar    $1,%edx
421ed1:	0f 84 81 43 ff ff    	je     0x416258
421ed7:	33 c0                	xor    %eax,%eax
421ed9:	50                   	push   %eax
421eda:	68 cb 23 00 40       	push   $0x400023cb
421edf:	e8 00 5a fe ff       	call   0x4078e4
421ee4:	33 c0                	xor    %eax,%eax
421ee6:	59                   	pop    %ecx
421ee7:	40                   	inc    %eax
421ee8:	59                   	pop    %ecx
421ee9:	a3 dc 65 43 00       	mov    %eax,0x4365dc
421eee:	e9 99 43 ff ff       	jmp    0x41628c
421ef3:	50                   	push   %eax
421ef4:	ff 15 b0 a4 44 00    	call   *0x44a4b0
421efa:	50                   	push   %eax
421efb:	ff 15 7c a0 44 00    	call   *0x44a07c
421f01:	85 db                	test   %ebx,%ebx
421f03:	0f 84 d8 00 00 00    	je     0x421fe1
421f09:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
421f0c:	e8 6e 8c fe ff       	call   0x40ab7f
421f11:	8b f0                	mov    %eax,%esi
421f13:	85 f6                	test   %esi,%esi
421f15:	0f 84 a6 44 ff ff    	je     0x4163c1
421f1b:	8b ce                	mov    %esi,%ecx
421f1d:	33 db                	xor    %ebx,%ebx
421f1f:	8d 51 02             	lea    0x2(%ecx),%edx
421f22:	66 8b 01             	mov    (%ecx),%ax
421f25:	83 c1 02             	add    $0x2,%ecx
421f28:	66 3b c3             	cmp    %bx,%ax
421f2b:	75 f5                	jne    0x421f22
421f2d:	2b ca                	sub    %edx,%ecx
421f2f:	d1 f9                	sar    $1,%ecx
421f31:	81 f9 04 01 00 00    	cmp    $0x104,%ecx
421f37:	0f 82 73 44 ff ff    	jb     0x4163b0
421f3d:	33 ff                	xor    %edi,%edi
421f3f:	47                   	inc    %edi
421f40:	33 c0                	xor    %eax,%eax
421f42:	50                   	push   %eax
421f43:	6a 08                	push   $0x8
421f45:	e8 9a 59 fe ff       	call   0x4078e4
421f4a:	59                   	pop    %ecx
421f4b:	59                   	pop    %ecx
421f4c:	e9 a0 44 ff ff       	jmp    0x4163f1
421f51:	83 c0 f0             	add    $0xfffffff0,%eax
421f54:	e9 b8 43 ff ff       	jmp    0x416311
421f59:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
421f5f:	68 04 01 00 00       	push   $0x104
421f64:	50                   	push   %eax
421f65:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
421f6b:	ff 15 48 a0 44 00    	call   *0x44a048
421f71:	85 c0                	test   %eax,%eax
421f73:	0f 84 54 44 ff ff    	je     0x4163cd
421f79:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
421f7f:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
421f85:	50                   	push   %eax
421f86:	ff 15 cc a3 44 00    	call   *0x44a3cc
421f8c:	59                   	pop    %ecx
421f8d:	59                   	pop    %ecx
421f8e:	85 c0                	test   %eax,%eax
421f90:	74 30                	je     0x421fc2
421f92:	8b bd e8 fd ff ff    	mov    -0x218(%ebp),%edi
421f98:	8d b5 ec fd ff ff    	lea    -0x214(%ebp),%esi
421f9e:	03 db                	add    %ebx,%ebx
421fa0:	03 f3                	add    %ebx,%esi
421fa2:	57                   	push   %edi
421fa3:	56                   	push   %esi
421fa4:	ff 15 cc a3 44 00    	call   *0x44a3cc
421faa:	59                   	pop    %ecx
421fab:	59                   	pop    %ecx
421fac:	85 c0                	test   %eax,%eax
421fae:	75 f0                	jne    0x421fa0
421fb0:	8b bd d4 fd ff ff    	mov    -0x22c(%ebp),%edi
421fb6:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
421fbc:	8b b5 d8 fd ff ff    	mov    -0x228(%ebp),%esi
421fc2:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
421fc8:	ba 04 01 00 00       	mov    $0x104,%edx
421fcd:	8b ce                	mov    %esi,%ecx
421fcf:	e8 6c dc fe ff       	call   0x40fc40
421fd4:	85 c0                	test   %eax,%eax
421fd6:	0f 85 f1 43 ff ff    	jne    0x4163cd
421fdc:	e9 cd 43 ff ff       	jmp    0x4163ae
421fe1:	33 db                	xor    %ebx,%ebx
421fe3:	8b f3                	mov    %ebx,%esi
421fe5:	e9 c6 43 ff ff       	jmp    0x4163b0
421fea:	33 c0                	xor    %eax,%eax
421fec:	39 45 f4             	cmp    %eax,-0xc(%ebp)
421fef:	0f 94 c0             	sete   %al
421ff2:	40                   	inc    %eax
421ff3:	89 07                	mov    %eax,(%edi)
421ff5:	e9 a3 44 ff ff       	jmp    0x41649d
421ffa:	8b 0f                	mov    (%edi),%ecx
421ffc:	8d 41 f0             	lea    -0x10(%ecx),%eax
421fff:	83 f8 02             	cmp    $0x2,%eax
422002:	76 03                	jbe    0x422007
422004:	83 c1 10             	add    $0x10,%ecx
422007:	89 0f                	mov    %ecx,(%edi)
422009:	e9 aa 44 ff ff       	jmp    0x4164b8
42200e:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
422012:	0f 85 2c 45 ff ff    	jne    0x416544
422018:	83 23 00             	andl   $0x0,(%ebx)
42201b:	8d 45 f8             	lea    -0x8(%ebp),%eax
42201e:	50                   	push   %eax
42201f:	6a 04                	push   $0x4
422021:	8d 45 f4             	lea    -0xc(%ebp),%eax
422024:	50                   	push   %eax
422025:	6a 14                	push   $0x14
422027:	57                   	push   %edi
422028:	ff 15 78 a4 44 00    	call   *0x44a478
42202e:	85 c0                	test   %eax,%eax
422030:	0f 88 0e 45 ff ff    	js     0x416544
422036:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
42203a:	0f 84 04 45 ff ff    	je     0x416544
422040:	e9 f9 44 ff ff       	jmp    0x41653e
422045:	0b f1                	or     %ecx,%esi
422047:	c1 e6 1e             	shl    $0x1e,%esi
42204a:	ff 15 40 a4 44 00    	call   *0x44a440
422050:	59                   	pop    %ecx
422051:	59                   	pop    %ecx
422052:	85 c0                	test   %eax,%eax
422054:	74 03                	je     0x422059
422056:	33 db                	xor    %ebx,%ebx
422058:	43                   	inc    %ebx
422059:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
422060:	e9 4b 45 ff ff       	jmp    0x4165b0
422065:	6a 00                	push   $0x0
422067:	68 80 00 00 08       	push   $0x8000080
42206c:	6a 03                	push   $0x3
42206e:	8d 45 ec             	lea    -0x14(%ebp),%eax
422071:	50                   	push   %eax
422072:	53                   	push   %ebx
422073:	56                   	push   %esi
422074:	51                   	push   %ecx
422075:	ff 15 ac a0 44 00    	call   *0x44a0ac
42207b:	8b f8                	mov    %eax,%edi
42207d:	83 ff ff             	cmp    $0xffffffff,%edi
422080:	0f 85 62 45 ff ff    	jne    0x4165e8
422086:	8b 45 fc             	mov    -0x4(%ebp),%eax
422089:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42208c:	e9 37 45 ff ff       	jmp    0x4165c8
422091:	57                   	push   %edi
422092:	ff 15 1c a1 44 00    	call   *0x44a11c
422098:	e9 e4 44 ff ff       	jmp    0x416581
42209d:	ff 15 80 a0 44 00    	call   *0x44a080
4220a3:	a3 a8 67 43 00       	mov    %eax,0x4367a8
4220a8:	83 f8 6e             	cmp    $0x6e,%eax
4220ab:	0f 85 cd 44 ff ff    	jne    0x41657e
4220b1:	c7 05 a8 67 43 00 02 	movl   $0x2,0x4367a8
4220b8:	00 00 00
4220bb:	e9 be 44 ff ff       	jmp    0x41657e
4220c0:	83 c6 02             	add    $0x2,%esi
4220c3:	0f b7 0e             	movzwl (%esi),%ecx
4220c6:	e9 f0 45 ff ff       	jmp    0x4166bb
4220cb:	83 e8 01             	sub    $0x1,%eax
4220ce:	74 3a                	je     0x42210a
4220d0:	48                   	dec    %eax
4220d1:	83 e8 01             	sub    $0x1,%eax
4220d4:	74 26                	je     0x4220fc
4220d6:	83 e8 07             	sub    $0x7,%eax
4220d9:	74 13                	je     0x4220ee
4220db:	83 e8 05             	sub    $0x5,%eax
4220de:	75 59                	jne    0x422139
4220e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4220e3:	c7 00 e0 a2 42 00    	movl   $0x42a2e0,(%eax)
4220e9:	e9 1b 46 ff ff       	jmp    0x416709
4220ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4220f1:	c7 00 c0 a2 42 00    	movl   $0x42a2c0,(%eax)
4220f7:	e9 0d 46 ff ff       	jmp    0x416709
4220fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4220ff:	c7 00 e0 67 41 00    	movl   $0x4167e0,(%eax)
422105:	e9 ff 45 ff ff       	jmp    0x416709
42210a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42210d:	c7 00 60 a1 42 00    	movl   $0x42a160,(%eax)
422113:	e9 f1 45 ff ff       	jmp    0x416709
422118:	66 39 4e 02          	cmp    %cx,0x2(%esi)
42211c:	74 1b                	je     0x422139
42211e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
422121:	33 c0                	xor    %eax,%eax
422123:	40                   	inc    %eax
422124:	4f                   	dec    %edi
422125:	66 89 01             	mov    %ax,(%ecx)
422128:	8b 45 fc             	mov    -0x4(%ebp),%eax
42212b:	83 e8 08             	sub    $0x8,%eax
42212e:	83 e9 08             	sub    $0x8,%ecx
422131:	89 4d f8             	mov    %ecx,-0x8(%ebp)
422134:	e9 d0 45 ff ff       	jmp    0x416709
422139:	33 db                	xor    %ebx,%ebx
42213b:	56                   	push   %esi
42213c:	43                   	inc    %ebx
42213d:	53                   	push   %ebx
42213e:	68 76 23 00 00       	push   $0x2376
422143:	e8 9c 57 fe ff       	call   0x4078e4
422148:	83 c4 0c             	add    $0xc,%esp
42214b:	8b c3                	mov    %ebx,%eax
42214d:	e9 dd 45 ff ff       	jmp    0x41672f
422152:	6a 02                	push   $0x2
422154:	c7 43 14 e0 67 41 00 	movl   $0x4167e0,0x14(%ebx)
42215b:	c7 43 1c c0 a2 42 00 	movl   $0x42a2c0,0x1c(%ebx)
422162:	5f                   	pop    %edi
422163:	e9 be 45 ff ff       	jmp    0x416726
422168:	cc                   	int3
422169:	cc                   	int3
42216a:	cc                   	int3
42216b:	cc                   	int3
42216c:	cc                   	int3
42216d:	cc                   	int3
42216e:	cc                   	int3
42216f:	cc                   	int3
422170:	8b ff                	mov    %edi,%edi
422172:	55                   	push   %ebp
422173:	8b ec                	mov    %esp,%ebp
422175:	51                   	push   %ecx
422176:	51                   	push   %ecx
422177:	56                   	push   %esi
422178:	57                   	push   %edi
422179:	8b fa                	mov    %edx,%edi
42217b:	33 c0                	xor    %eax,%eax
42217d:	89 45 f8             	mov    %eax,-0x8(%ebp)
422180:	89 45 fc             	mov    %eax,-0x4(%ebp)
422183:	51                   	push   %ecx
422184:	89 07                	mov    %eax,(%edi)
422186:	8d 45 f8             	lea    -0x8(%ebp),%eax
422189:	50                   	push   %eax
42218a:	e8 fb 15 00 00       	call   0x42378a
42218f:	8b f0                	mov    %eax,%esi
422191:	85 f6                	test   %esi,%esi
422193:	79 15                	jns    0x4221aa
422195:	8b 4d 04             	mov    0x4(%ebp),%ecx
422198:	56                   	push   %esi
422199:	68 7c 34 40 00       	push   $0x40347c
42219e:	6a 62                	push   $0x62
4221a0:	5a                   	pop    %edx
4221a1:	e8 2e 13 00 00       	call   0x4234d4
4221a6:	8b c6                	mov    %esi,%eax
4221a8:	eb 07                	jmp    0x4221b1
4221aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4221ad:	89 07                	mov    %eax,(%edi)
4221af:	33 c0                	xor    %eax,%eax
4221b1:	5f                   	pop    %edi
4221b2:	5e                   	pop    %esi
4221b3:	c9                   	leave
4221b4:	c2 04 00             	ret    $0x4
4221b7:	8b ff                	mov    %edi,%edi
4221b9:	55                   	push   %ebp
4221ba:	8b ec                	mov    %esp,%ebp
4221bc:	51                   	push   %ecx
4221bd:	53                   	push   %ebx
4221be:	56                   	push   %esi
4221bf:	8b da                	mov    %edx,%ebx
4221c1:	8b f1                	mov    %ecx,%esi
4221c3:	57                   	push   %edi
4221c4:	3b f3                	cmp    %ebx,%esi
4221c6:	74 39                	je     0x422201
4221c8:	8b 7d 08             	mov    0x8(%ebp),%edi
4221cb:	85 ff                	test   %edi,%edi
4221cd:	74 32                	je     0x422201
4221cf:	80 3f 00             	cmpb   $0x0,(%edi)
4221d2:	74 2d                	je     0x422201
4221d4:	8b cf                	mov    %edi,%ecx
4221d6:	e8 aa 12 00 00       	call   0x423485
4221db:	2b de                	sub    %esi,%ebx
4221dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4221e0:	3b d8                	cmp    %eax,%ebx
4221e2:	72 1d                	jb     0x422201
4221e4:	50                   	push   %eax
4221e5:	57                   	push   %edi
4221e6:	53                   	push   %ebx
4221e7:	56                   	push   %esi
4221e8:	ff 15 e8 a3 44 00    	call   *0x44a3e8
4221ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4221f1:	83 c4 10             	add    $0x10,%esp
4221f4:	85 c0                	test   %eax,%eax
4221f6:	74 02                	je     0x4221fa
4221f8:	89 30                	mov    %esi,(%eax)
4221fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4221fd:	03 c6                	add    %esi,%eax
4221ff:	eb 0a                	jmp    0x42220b
422201:	8b 4d 0c             	mov    0xc(%ebp),%ecx
422204:	e8 69 5a ff ff       	call   0x417c72
422209:	8b c6                	mov    %esi,%eax
42220b:	5f                   	pop    %edi
42220c:	5e                   	pop    %esi
42220d:	5b                   	pop    %ebx
42220e:	c9                   	leave