434e22:	e8 f3 02 00 00       	call   0x43511a
434e27:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434e2a:	83 c4 10             	add    $0x10,%esp
434e2d:	85 c9                	test   %ecx,%ecx
434e2f:	75 08                	jne    0x434e39
434e31:	83 c8 ff             	or     $0xffffffff,%eax
434e34:	e9 91 00 00 00       	jmp    0x434eca
434e39:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
434e3c:	8b d9                	mov    %ecx,%ebx
434e3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
434e41:	8d 34 b9             	lea    (%ecx,%edi,4),%esi
434e44:	a1 08 a0 46 00       	mov    0x46a008,%eax
434e49:	8b 7d fc             	mov    -0x4(%ebp),%edi
434e4c:	83 e0 1f             	and    $0x1f,%eax
434e4f:	6a 20                	push   $0x20
434e51:	59                   	pop    %ecx
434e52:	2b c8                	sub    %eax,%ecx
434e54:	33 c0                	xor    %eax,%eax
434e56:	d3 c8                	ror    %cl,%eax
434e58:	8b cf                	mov    %edi,%ecx
434e5a:	33 05 08 a0 46 00    	xor    0x46a008,%eax
434e60:	89 45 f4             	mov    %eax,-0xc(%ebp)
434e63:	8b c6                	mov    %esi,%eax
434e65:	2b c7                	sub    %edi,%eax
434e67:	83 c0 03             	add    $0x3,%eax
434e6a:	c1 e8 02             	shr    $0x2,%eax
434e6d:	3b f7                	cmp    %edi,%esi
434e6f:	1b d2                	sbb    %edx,%edx
434e71:	f7 d2                	not    %edx
434e73:	23 d0                	and    %eax,%edx
434e75:	89 55 fc             	mov    %edx,-0x4(%ebp)
434e78:	74 10                	je     0x434e8a
434e7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
434e7d:	33 c0                	xor    %eax,%eax
434e7f:	40                   	inc    %eax
434e80:	89 11                	mov    %edx,(%ecx)
434e82:	8d 49 04             	lea    0x4(%ecx),%ecx
434e85:	3b 45 fc             	cmp    -0x4(%ebp),%eax
434e88:	75 f5                	jne    0x434e7f
434e8a:	8b 45 f8             	mov    -0x8(%ebp),%eax
434e8d:	8b 40 04             	mov    0x4(%eax),%eax
434e90:	ff 30                	push   (%eax)
434e92:	e8 30 f8 ff ff       	call   0x4346c7
434e97:	53                   	push   %ebx
434e98:	89 07                	mov    %eax,(%edi)
434e9a:	e8 14 c7 ff ff       	call   0x4315b3
434e9f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
434ea2:	8b 0b                	mov    (%ebx),%ecx
434ea4:	8b 09                	mov    (%ecx),%ecx
434ea6:	89 01                	mov    %eax,(%ecx)
434ea8:	8d 47 04             	lea    0x4(%edi),%eax
434eab:	50                   	push   %eax
434eac:	e8 02 c7 ff ff       	call   0x4315b3
434eb1:	8b 0b                	mov    (%ebx),%ecx
434eb3:	56                   	push   %esi
434eb4:	8b 09                	mov    (%ecx),%ecx
434eb6:	89 41 04             	mov    %eax,0x4(%ecx)
434eb9:	e8 f5 c6 ff ff       	call   0x4315b3
434ebe:	8b 0b                	mov    (%ebx),%ecx
434ec0:	83 c4 10             	add    $0x10,%esp
434ec3:	8b 09                	mov    (%ecx),%ecx
434ec5:	89 41 08             	mov    %eax,0x8(%ecx)
434ec8:	33 c0                	xor    %eax,%eax
434eca:	5f                   	pop    %edi
434ecb:	5b                   	pop    %ebx
434ecc:	5e                   	pop    %esi
434ecd:	8b e5                	mov    %ebp,%esp
434ecf:	5d                   	pop    %ebp
434ed0:	c3                   	ret
434ed1:	8b ff                	mov    %edi,%edi
434ed3:	55                   	push   %ebp
434ed4:	8b ec                	mov    %esp,%ebp
434ed6:	ff 75 08             	push   0x8(%ebp)
434ed9:	68 24 b1 46 00       	push   $0x46b124
434ede:	e8 5e 00 00 00       	call   0x434f41
434ee3:	59                   	pop    %ecx
434ee4:	59                   	pop    %ecx
434ee5:	5d                   	pop    %ebp
434ee6:	c3                   	ret
434ee7:	8b ff                	mov    %edi,%edi
434ee9:	55                   	push   %ebp
434eea:	8b ec                	mov    %esp,%ebp
434eec:	51                   	push   %ecx
434eed:	8d 45 08             	lea    0x8(%ebp),%eax
434ef0:	89 45 fc             	mov    %eax,-0x4(%ebp)
434ef3:	8d 45 fc             	lea    -0x4(%ebp),%eax
434ef6:	50                   	push   %eax
434ef7:	6a 02                	push   $0x2
434ef9:	e8 22 fd ff ff       	call   0x434c20
434efe:	59                   	pop    %ecx
434eff:	59                   	pop    %ecx
434f00:	8b e5                	mov    %ebp,%esp
434f02:	5d                   	pop    %ebp
434f03:	c3                   	ret
434f04:	8b ff                	mov    %edi,%edi
434f06:	55                   	push   %ebp
434f07:	8b ec                	mov    %esp,%ebp
434f09:	56                   	push   %esi
434f0a:	8b 75 08             	mov    0x8(%ebp),%esi
434f0d:	85 f6                	test   %esi,%esi
434f0f:	75 05                	jne    0x434f16
434f11:	83 c8 ff             	or     $0xffffffff,%eax
434f14:	eb 28                	jmp    0x434f3e
434f16:	8b 06                	mov    (%esi),%eax
434f18:	3b 46 08             	cmp    0x8(%esi),%eax
434f1b:	75 1f                	jne    0x434f3c
434f1d:	a1 08 a0 46 00       	mov    0x46a008,%eax
434f22:	83 e0 1f             	and    $0x1f,%eax
434f25:	6a 20                	push   $0x20
434f27:	59                   	pop    %ecx
434f28:	2b c8                	sub    %eax,%ecx
434f2a:	33 c0                	xor    %eax,%eax
434f2c:	d3 c8                	ror    %cl,%eax
434f2e:	33 05 08 a0 46 00    	xor    0x46a008,%eax
434f34:	89 06                	mov    %eax,(%esi)
434f36:	89 46 04             	mov    %eax,0x4(%esi)
434f39:	89 46 08             	mov    %eax,0x8(%esi)
434f3c:	33 c0                	xor    %eax,%eax
434f3e:	5e                   	pop    %esi
434f3f:	5d                   	pop    %ebp
434f40:	c3                   	ret
434f41:	8b ff                	mov    %edi,%edi
434f43:	55                   	push   %ebp
434f44:	8b ec                	mov    %esp,%ebp
434f46:	51                   	push   %ecx
434f47:	51                   	push   %ecx
434f48:	8d 45 08             	lea    0x8(%ebp),%eax
434f4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
434f4e:	8d 45 0c             	lea    0xc(%ebp),%eax
434f51:	89 45 fc             	mov    %eax,-0x4(%ebp)
434f54:	8d 45 f8             	lea    -0x8(%ebp),%eax
434f57:	50                   	push   %eax
434f58:	6a 02                	push   $0x2
434f5a:	e8 e9 fc ff ff       	call   0x434c48
434f5f:	59                   	pop    %ecx
434f60:	59                   	pop    %ecx
434f61:	8b e5                	mov    %ebp,%esp
434f63:	5d                   	pop    %ebp
434f64:	c3                   	ret
434f65:	68 60 a0 46 00       	push   $0x46a060
434f6a:	b9 3c b1 46 00       	mov    $0x46b13c,%ecx
434f6f:	e8 0b ec ff ff       	call   0x433b7f
434f74:	b0 01                	mov    $0x1,%al
434f76:	c3                   	ret
434f77:	68 24 b1 46 00       	push   $0x46b124
434f7c:	e8 83 ff ff ff       	call   0x434f04
434f81:	c7 04 24 30 b1 46 00 	movl   $0x46b130,(%esp)
434f88:	e8 77 ff ff ff       	call   0x434f04
434f8d:	59                   	pop    %ecx
434f8e:	b0 01                	mov    $0x1,%al
434f90:	c3                   	ret
434f91:	e8 0e f6 ff ff       	call   0x4345a4
434f96:	b0 01                	mov    $0x1,%al
434f98:	c3                   	ret
434f99:	a1 08 a0 46 00       	mov    0x46a008,%eax
434f9e:	56                   	push   %esi
434f9f:	6a 20                	push   $0x20
434fa1:	83 e0 1f             	and    $0x1f,%eax
434fa4:	33 f6                	xor    %esi,%esi
434fa6:	59                   	pop    %ecx
434fa7:	2b c8                	sub    %eax,%ecx
434fa9:	d3 ce                	ror    %cl,%esi
434fab:	33 35 08 a0 46 00    	xor    0x46a008,%esi
434fb1:	56                   	push   %esi
434fb2:	e8 34 ed ff ff       	call   0x433ceb
434fb7:	56                   	push   %esi
434fb8:	e8 0c fb ff ff       	call   0x434ac9
434fbd:	56                   	push   %esi
434fbe:	e8 1b 48 00 00       	call   0x4397de
434fc3:	56                   	push   %esi
434fc4:	e8 71 f0 ff ff       	call   0x43403a
434fc9:	56                   	push   %esi
434fca:	e8 32 f9 ff ff       	call   0x434901
434fcf:	83 c4 14             	add    $0x14,%esp
434fd2:	b0 01                	mov    $0x1,%al
434fd4:	5e                   	pop    %esi
434fd5:	c3                   	ret
434fd6:	6a 00                	push   $0x0
434fd8:	e8 92 c2 ff ff       	call   0x43126f
434fdd:	59                   	pop    %ecx
434fde:	c3                   	ret
434fdf:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
434fe4:	83 c9 ff             	or     $0xffffffff,%ecx
434fe7:	56                   	push   %esi
434fe8:	f0 0f c1 08          	lock xadd %ecx,(%eax)
434fec:	75 1b                	jne    0x435009
434fee:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
434ff3:	be d0 a4 46 00       	mov    $0x46a4d0,%esi
434ff8:	3b c6                	cmp    %esi,%eax
434ffa:	74 0d                	je     0x435009
434ffc:	50                   	push   %eax
434ffd:	e8 18 01 00 00       	call   0x43511a
435002:	59                   	pop    %ecx
435003:	89 35 f0 a6 46 00    	mov    %esi,0x46a6f0
435009:	ff 35 4c b1 46 00    	push   0x46b14c
43500f:	e8 06 01 00 00       	call   0x43511a
435014:	ff 35 50 b1 46 00    	push   0x46b150
43501a:	33 f6                	xor    %esi,%esi
43501c:	89 35 4c b1 46 00    	mov    %esi,0x46b14c
435022:	e8 f3 00 00 00       	call   0x43511a
435027:	ff 35 80 b3 46 00    	push   0x46b380
43502d:	89 35 50 b1 46 00    	mov    %esi,0x46b150
435033:	e8 e2 00 00 00       	call   0x43511a
435038:	ff 35 84 b3 46 00    	push   0x46b384
43503e:	89 35 80 b3 46 00    	mov    %esi,0x46b380
435044:	e8 d1 00 00 00       	call   0x43511a
435049:	83 c4 10             	add    $0x10,%esp
43504c:	89 35 84 b3 46 00    	mov    %esi,0x46b384
435052:	b0 01                	mov    $0x1,%al
435054:	5e                   	pop    %esi
435055:	c3                   	ret
435056:	68 00 18 46 00       	push   $0x461800
43505b:	68 88 17 46 00       	push   $0x461788
435060:	e8 a6 45 00 00       	call   0x43960b
435065:	59                   	pop    %ecx
435066:	59                   	pop    %ecx
435067:	c3                   	ret
435068:	68 00 18 46 00       	push   $0x461800
43506d:	68 88 17 46 00       	push   $0x461788
435072:	e8 17 46 00 00       	call   0x43968e
435077:	59                   	pop    %ecx
435078:	59                   	pop    %ecx
435079:	c3                   	ret
43507a:	8b ff                	mov    %edi,%edi
43507c:	55                   	push   %ebp
43507d:	8b ec                	mov    %esp,%ebp
43507f:	8b 4d 10             	mov    0x10(%ebp),%ecx
435082:	8b 45 0c             	mov    0xc(%ebp),%eax
435085:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
43508b:	23 c1                	and    %ecx,%eax
43508d:	56                   	push   %esi
43508e:	8b 75 08             	mov    0x8(%ebp),%esi
435091:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
435096:	74 24                	je     0x4350bc
435098:	85 f6                	test   %esi,%esi
43509a:	74 0d                	je     0x4350a9
43509c:	6a 00                	push   $0x0
43509e:	6a 00                	push   $0x0
4350a0:	e8 0e 4b 00 00       	call   0x439bb3
4350a5:	59                   	pop    %ecx
4350a6:	59                   	pop    %ecx
4350a7:	89 06                	mov    %eax,(%esi)
4350a9:	e8 88 ed ff ff       	call   0x433e36
4350ae:	6a 16                	push   $0x16
4350b0:	5e                   	pop    %esi
4350b1:	89 30                	mov    %esi,(%eax)
4350b3:	e8 c2 ec ff ff       	call   0x433d7a
4350b8:	8b c6                	mov    %esi,%eax
4350ba:	eb 1a                	jmp    0x4350d6
4350bc:	51                   	push   %ecx
4350bd:	ff 75 0c             	push   0xc(%ebp)
4350c0:	85 f6                	test   %esi,%esi
4350c2:	74 09                	je     0x4350cd
4350c4:	e8 ea 4a 00 00       	call   0x439bb3
4350c9:	89 06                	mov    %eax,(%esi)
4350cb:	eb 05                	jmp    0x4350d2
4350cd:	e8 e1 4a 00 00       	call   0x439bb3
4350d2:	59                   	pop    %ecx
4350d3:	59                   	pop    %ecx
4350d4:	33 c0                	xor    %eax,%eax
4350d6:	5e                   	pop    %esi
4350d7:	5d                   	pop    %ebp
4350d8:	c3                   	ret
4350d9:	6a 0c                	push   $0xc
4350db:	68 a0 7d 46 00       	push   $0x467da0
4350e0:	e8 ab 4b 01 00       	call   0x449c90
4350e5:	e8 74 0f 00 00       	call   0x43605e
4350ea:	8b 70 0c             	mov    0xc(%eax),%esi
4350ed:	85 f6                	test   %esi,%esi
4350ef:	74 1e                	je     0x43510f
4350f1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4350f5:	8b ce                	mov    %esi,%ecx
4350f7:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4350fd:	ff d6                	call   *%esi
4350ff:	eb 07                	jmp    0x435108
435101:	33 c0                	xor    %eax,%eax
435103:	40                   	inc    %eax
435104:	c3                   	ret
435105:	8b 65 e8             	mov    -0x18(%ebp),%esp
435108:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43510f:	e8 e8 00 00 00       	call   0x4351fc
435114:	cc                   	int3
435115:	e9 00 00 00 00       	jmp    0x43511a
43511a:	8b ff                	mov    %edi,%edi
43511c:	55                   	push   %ebp
43511d:	8b ec                	mov    %esp,%ebp
43511f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435123:	74 2d                	je     0x435152
435125:	ff 75 08             	push   0x8(%ebp)
435128:	6a 00                	push   $0x0
43512a:	ff 35 b8 b5 46 00    	push   0x46b5b8
435130:	ff 15 4c b1 44 00    	call   *0x44b14c
435136:	85 c0                	test   %eax,%eax
435138:	75 18                	jne    0x435152
43513a:	56                   	push   %esi
43513b:	e8 f6 ec ff ff       	call   0x433e36
435140:	8b f0                	mov    %eax,%esi
435142:	ff 15 e8 b0 44 00    	call   *0x44b0e8
435148:	50                   	push   %eax
435149:	e8 6f ec ff ff       	call   0x433dbd
43514e:	59                   	pop    %ecx
43514f:	89 06                	mov    %eax,(%esi)
435151:	5e                   	pop    %esi
435152:	5d                   	pop    %ebp
435153:	c3                   	ret
435154:	8b ff                	mov    %edi,%edi
435156:	55                   	push   %ebp
435157:	8b ec                	mov    %esp,%ebp
435159:	56                   	push   %esi
43515a:	8b 75 08             	mov    0x8(%ebp),%esi
43515d:	83 fe e0             	cmp    $0xffffffe0,%esi
435160:	77 30                	ja     0x435192
435162:	85 f6                	test   %esi,%esi
435164:	75 17                	jne    0x43517d
435166:	46                   	inc    %esi
435167:	eb 14                	jmp    0x43517d
435169:	e8 20 f9 ff ff       	call   0x434a8e
43516e:	85 c0                	test   %eax,%eax
435170:	74 20                	je     0x435192
435172:	56                   	push   %esi
435173:	e8 65 f9 ff ff       	call   0x434add
435178:	59                   	pop    %ecx
435179:	85 c0                	test   %eax,%eax
43517b:	74 15                	je     0x435192
43517d:	56                   	push   %esi
43517e:	6a 00                	push   $0x0
435180:	ff 35 b8 b5 46 00    	push   0x46b5b8
435186:	ff 15 44 b1 44 00    	call   *0x44b144
43518c:	85 c0                	test   %eax,%eax
43518e:	74 d9                	je     0x435169
435190:	eb 0d                	jmp    0x43519f
435192:	e8 9f ec ff ff       	call   0x433e36
435197:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
43519d:	33 c0                	xor    %eax,%eax
43519f:	5e                   	pop    %esi
4351a0:	5d                   	pop    %ebp
4351a1:	c3                   	ret
4351a2:	8b ff                	mov    %edi,%edi
4351a4:	55                   	push   %ebp
4351a5:	8b ec                	mov    %esp,%ebp
4351a7:	8b 55 08             	mov    0x8(%ebp),%edx
4351aa:	56                   	push   %esi
4351ab:	85 d2                	test   %edx,%edx
4351ad:	74 11                	je     0x4351c0
4351af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4351b2:	85 c9                	test   %ecx,%ecx
4351b4:	74 0a                	je     0x4351c0
4351b6:	8b 75 10             	mov    0x10(%ebp),%esi
4351b9:	85 f6                	test   %esi,%esi
4351bb:	75 17                	jne    0x4351d4