639d9e:	56                   	push   %esi
639d9f:	57                   	push   %edi
639da0:	8d 48 10             	lea    0x10(%eax),%ecx
639da3:	33 d2                	xor    %edx,%edx
639da5:	8b f9                	mov    %ecx,%edi
639da7:	33 f6                	xor    %esi,%esi
639da9:	2b f8                	sub    %eax,%edi
639dab:	47                   	inc    %edi
639dac:	d1 ef                	shr    $1,%edi
639dae:	3b c1                	cmp    %ecx,%eax
639db0:	0f 47 fa             	cmova  %edx,%edi
639db3:	85 ff                	test   %edi,%edi
639db5:	74 22                	je     0x639dd9
639db7:	2b d8                	sub    %eax,%ebx
639db9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
639dc0:	66 8b 0c 03          	mov    (%ebx,%eax,1),%cx
639dc4:	8d 40 02             	lea    0x2(%eax),%eax
639dc7:	0f b7 50 fe          	movzwl -0x2(%eax),%edx
639dcb:	46                   	inc    %esi
639dcc:	66 89 48 fe          	mov    %cx,-0x2(%eax)
639dd0:	66 89 54 03 fe       	mov    %dx,-0x2(%ebx,%eax,1)
639dd5:	3b f7                	cmp    %edi,%esi
639dd7:	75 e7                	jne    0x639dc0
639dd9:	5f                   	pop    %edi
639dda:	5e                   	pop    %esi
639ddb:	5b                   	pop    %ebx
639ddc:	5d                   	pop    %ebp
639ddd:	c3                   	ret
639dde:	cc                   	int3
639ddf:	cc                   	int3
639de0:	55                   	push   %ebp
639de1:	8b ec                	mov    %esp,%ebp
639de3:	6a ff                	push   $0xffffffff
639de5:	68 fa 3f 66 00       	push   $0x663ffa
639dea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
639df0:	50                   	push   %eax
639df1:	83 ec 60             	sub    $0x60,%esp
639df4:	53                   	push   %ebx
639df5:	56                   	push   %esi
639df6:	57                   	push   %edi
639df7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
639dfc:	33 c5                	xor    %ebp,%eax
639dfe:	50                   	push   %eax
639dff:	8d 45 f4             	lea    -0xc(%ebp),%eax
639e02:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
639e08:	89 65 f0             	mov    %esp,-0x10(%ebp)
639e0b:	8b f1                	mov    %ecx,%esi
639e0d:	89 75 ec             	mov    %esi,-0x14(%ebp)
639e10:	8b 06                	mov    (%esi),%eax
639e12:	33 ff                	xor    %edi,%edi
639e14:	89 7d e8             	mov    %edi,-0x18(%ebp)
639e17:	89 75 e0             	mov    %esi,-0x20(%ebp)
639e1a:	8b 40 04             	mov    0x4(%eax),%eax
639e1d:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
639e21:	85 c9                	test   %ecx,%ecx
639e23:	74 05                	je     0x639e2a
639e25:	8b 01                	mov    (%ecx),%eax
639e27:	ff 50 04             	call   *0x4(%eax)
639e2a:	8b 06                	mov    (%esi),%eax
639e2c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
639e33:	8b 40 04             	mov    0x4(%eax),%eax
639e36:	83 7c 30 0c 00       	cmpl   $0x0,0xc(%eax,%esi,1)
639e3b:	75 11                	jne    0x639e4e
639e3d:	8b 4c 30 3c          	mov    0x3c(%eax,%esi,1),%ecx
639e41:	85 c9                	test   %ecx,%ecx
639e43:	74 09                	je     0x639e4e
639e45:	3b ce                	cmp    %esi,%ecx
639e47:	74 05                	je     0x639e4e
639e49:	e8 a2 68 e0 ff       	call   0x4406f0
639e4e:	8b 06                	mov    (%esi),%eax
639e50:	8b 48 04             	mov    0x4(%eax),%ecx
639e53:	03 ce                	add    %esi,%ecx
639e55:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
639e59:	0f 94 c0             	sete   %al
639e5c:	88 45 e4             	mov    %al,-0x1c(%ebp)
639e5f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
639e66:	84 c0                	test   %al,%al
639e68:	74 74                	je     0x639ede
639e6a:	8d 45 d8             	lea    -0x28(%ebp),%eax
639e6d:	50                   	push   %eax
639e6e:	e8 0d 08 e0 ff       	call   0x43a680
639e73:	50                   	push   %eax
639e74:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
639e78:	e8 53 73 e0 ff       	call   0x4411d0
639e7d:	83 c4 04             	add    $0x4,%esp
639e80:	8b d8                	mov    %eax,%ebx
639e82:	8b 4d dc             	mov    -0x24(%ebp),%ecx
639e85:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
639e89:	85 c9                	test   %ecx,%ecx
639e8b:	74 11                	je     0x639e9e
639e8d:	8b 11                	mov    (%ecx),%edx
639e8f:	ff 52 08             	call   *0x8(%edx)
639e92:	85 c0                	test   %eax,%eax
639e94:	74 08                	je     0x639e9e
639e96:	8b 10                	mov    (%eax),%edx
639e98:	8b c8                	mov    %eax,%ecx
639e9a:	6a 01                	push   $0x1
639e9c:	ff 12                	call   *(%edx)
639e9e:	8b 06                	mov    (%esi),%eax
639ea0:	ff 75 0c             	push   0xc(%ebp)
639ea3:	8b 13                	mov    (%ebx),%edx
639ea5:	ff 75 08             	push   0x8(%ebp)
639ea8:	8b 48 04             	mov    0x4(%eax),%ecx
639eab:	0f b7 44 31 40       	movzwl 0x40(%ecx,%esi,1),%eax
639eb0:	03 ce                	add    %esi,%ecx
639eb2:	50                   	push   %eax
639eb3:	51                   	push   %ecx
639eb4:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
639eb8:	8d 45 08             	lea    0x8(%ebp),%eax
639ebb:	ff 71 38             	push   0x38(%ecx)
639ebe:	8b cb                	mov    %ebx,%ecx
639ec0:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
639ec4:	ff 75 d0             	push   -0x30(%ebp)
639ec7:	50                   	push   %eax
639ec8:	ff 52 18             	call   *0x18(%edx)
639ecb:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
639ecf:	b8 04 00 00 00       	mov    $0x4,%eax
639ed4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
639edb:	0f 45 f8             	cmovne %eax,%edi
639ede:	8b 06                	mov    (%esi),%eax
639ee0:	8b 48 04             	mov    0x4(%eax),%ecx
639ee3:	03 ce                	add    %esi,%ecx
639ee5:	85 ff                	test   %edi,%edi
639ee7:	0f 84 ed 00 00 00    	je     0x639fda
639eed:	8b 41 0c             	mov    0xc(%ecx),%eax
639ef0:	0b c7                	or     %edi,%eax
639ef2:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
639ef6:	75 03                	jne    0x639efb
639ef8:	83 c8 04             	or     $0x4,%eax
639efb:	83 e0 17             	and    $0x17,%eax
639efe:	89 41 0c             	mov    %eax,0xc(%ecx)
639f01:	8b 49 10             	mov    0x10(%ecx),%ecx
639f04:	23 c8                	and    %eax,%ecx
639f06:	0f 84 ce 00 00 00    	je     0x639fda
639f0c:	f6 c1 04             	test   $0x4,%cl
639f0f:	74 70                	je     0x639f81
639f11:	e8 aa 6f e0 ff       	call   0x440ec0
639f16:	68 d8 57 6e 00       	push   $0x6e57d8
639f1b:	50                   	push   %eax
639f1c:	6a 01                	push   $0x1
639f1e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
639f21:	e8 0a 04 e0 ff       	call   0x43a330
639f26:	68 0c 60 70 00       	push   $0x70600c
639f2b:	8d 45 bc             	lea    -0x44(%ebp),%eax
639f2e:	c7 45 bc 24 c4 68 00 	movl   $0x68c424,-0x44(%ebp)
639f35:	50                   	push   %eax
639f36:	e8 f7 8a fa ff       	call   0x5e2a32
639f3b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
639f3e:	8b 01                	mov    (%ecx),%eax
639f40:	8b 50 04             	mov    0x4(%eax),%edx
639f43:	8b 44 0a 0c          	mov    0xc(%edx,%ecx,1),%eax
639f47:	03 d1                	add    %ecx,%edx
639f49:	83 c8 04             	or     $0x4,%eax
639f4c:	83 7a 38 00          	cmpl   $0x0,0x38(%edx)
639f50:	75 03                	jne    0x639f55
639f52:	83 c8 04             	or     $0x4,%eax
639f55:	83 e0 17             	and    $0x17,%eax
639f58:	89 42 0c             	mov    %eax,0xc(%edx)
639f5b:	85 42 10             	test   %eax,0x10(%edx)
639f5e:	75 18                	jne    0x639f78
639f60:	b8 66 9f 63 00       	mov    $0x639f66,%eax
639f65:	c3                   	ret
639f66:	8b 75 ec             	mov    -0x14(%ebp),%esi
639f69:	8b 7d e8             	mov    -0x18(%ebp),%edi
639f6c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
639f73:	e9 66 ff ff ff       	jmp    0x639ede
639f78:	6a 00                	push   $0x0
639f7a:	6a 00                	push   $0x0
639f7c:	e8 b1 8a fa ff       	call   0x5e2a32
639f81:	f6 c1 02             	test   $0x2,%cl
639f84:	74 2a                	je     0x639fb0
639f86:	e8 35 6f e0 ff       	call   0x440ec0
639f8b:	68 f0 57 6e 00       	push   $0x6e57f0
639f90:	50                   	push   %eax
639f91:	6a 01                	push   $0x1
639f93:	8d 4d a8             	lea    -0x58(%ebp),%ecx
639f96:	e8 95 03 e0 ff       	call   0x43a330
639f9b:	68 0c 60 70 00       	push   $0x70600c
639fa0:	8d 45 a8             	lea    -0x58(%ebp),%eax
639fa3:	c7 45 a8 24 c4 68 00 	movl   $0x68c424,-0x58(%ebp)
639faa:	50                   	push   %eax
639fab:	e8 82 8a fa ff       	call   0x5e2a32
639fb0:	e8 0b 6f e0 ff       	call   0x440ec0
639fb5:	68 08 58 6e 00       	push   $0x6e5808
639fba:	50                   	push   %eax
639fbb:	6a 01                	push   $0x1
639fbd:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
639fc0:	e8 6b 03 e0 ff       	call   0x43a330
639fc5:	68 0c 60 70 00       	push   $0x70600c
639fca:	8d 45 94             	lea    -0x6c(%ebp),%eax
639fcd:	c7 45 94 24 c4 68 00 	movl   $0x68c424,-0x6c(%ebp)
639fd4:	50                   	push   %eax
639fd5:	e8 58 8a fa ff       	call   0x5e2a32
639fda:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
639fe1:	e8 88 44 f9 ff       	call   0x5ce46e
639fe6:	84 c0                	test   %al,%al
639fe8:	75 07                	jne    0x639ff1
639fea:	8b ce                	mov    %esi,%ecx
639fec:	e8 bf 67 e0 ff       	call   0x4407b0
639ff1:	8b 06                	mov    (%esi),%eax
639ff3:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
639ff7:	8b 40 04             	mov    0x4(%eax),%eax
639ffa:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
639ffe:	85 c9                	test   %ecx,%ecx
63a000:	74 05                	je     0x63a007
63a002:	8b 01                	mov    (%ecx),%eax
63a004:	ff 50 08             	call   *0x8(%eax)
63a007:	8b c6                	mov    %esi,%eax
63a009:	8b 4d f4             	mov    -0xc(%ebp),%ecx
63a00c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
63a013:	59                   	pop    %ecx
63a014:	5f                   	pop    %edi
63a015:	5e                   	pop    %esi
63a016:	5b                   	pop    %ebx
63a017:	8b e5                	mov    %ebp,%esp
63a019:	5d                   	pop    %ebp
63a01a:	c2 08 00             	ret    $0x8
63a01d:	cc                   	int3
63a01e:	cc                   	int3
63a01f:	cc                   	int3
63a020:	55                   	push   %ebp
63a021:	8b ec                	mov    %esp,%ebp
63a023:	8b 01                	mov    (%ecx),%eax
63a025:	56                   	push   %esi
63a026:	33 f6                	xor    %esi,%esi
63a028:	85 c0                	test   %eax,%eax
63a02a:	74 08                	je     0x63a034
63a02c:	8b 00                	mov    (%eax),%eax
63a02e:	85 c0                	test   %eax,%eax
63a030:	74 02                	je     0x63a034
63a032:	8b 30                	mov    (%eax),%esi
63a034:	8b 45 08             	mov    0x8(%ebp),%eax
63a037:	8b 51 08             	mov    0x8(%ecx),%edx
63a03a:	2b 55 0c             	sub    0xc(%ebp),%edx
63a03d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
63a043:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
63a04a:	89 50 08             	mov    %edx,0x8(%eax)
63a04d:	85 f6                	test   %esi,%esi
63a04f:	74 0a                	je     0x63a05b
63a051:	8b 0e                	mov    (%esi),%ecx
63a053:	85 c9                	test   %ecx,%ecx
63a055:	74 04                	je     0x63a05b
63a057:	8b 09                	mov    (%ecx),%ecx
63a059:	89 08                	mov    %ecx,(%eax)
63a05b:	5e                   	pop    %esi
63a05c:	5d                   	pop    %ebp
63a05d:	c2 08 00             	ret    $0x8
63a060:	55                   	push   %ebp
63a061:	8b ec                	mov    %esp,%ebp
63a063:	83 ec 0c             	sub    $0xc,%esp
63a066:	8b 55 08             	mov    0x8(%ebp),%edx
63a069:	53                   	push   %ebx
63a06a:	56                   	push   %esi
63a06b:	57                   	push   %edi
63a06c:	8b f9                	mov    %ecx,%edi
63a06e:	be 01 00 00 00       	mov    $0x1,%esi
63a073:	89 7d f8             	mov    %edi,-0x8(%ebp)
63a076:	8b 4f 08             	mov    0x8(%edi),%ecx
63a079:	85 c9                	test   %ecx,%ecx
63a07b:	0f 45 f1             	cmovne %ecx,%esi
63a07e:	66 90                	xchg   %ax,%ax
63a080:	8b c6                	mov    %esi,%eax
63a082:	2b c1                	sub    %ecx,%eax
63a084:	3b c2                	cmp    %edx,%eax
63a086:	72 05                	jb     0x63a08d
63a088:	83 fe 08             	cmp    $0x8,%esi
63a08b:	73 13                	jae    0x63a0a0
63a08d:	b8 aa aa aa 0a       	mov    $0xaaaaaaa,%eax
63a092:	2b c6                	sub    %esi,%eax
63a094:	3b c6                	cmp    %esi,%eax
63a096:	0f 82 fc 00 00 00    	jb     0x63a198
63a09c:	03 f6                	add    %esi,%esi
63a09e:	eb e0                	jmp    0x63a080
63a0a0:	8b 5f 0c             	mov    0xc(%edi),%ebx
63a0a3:	2b f1                	sub    %ecx,%esi
63a0a5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
63a0a8:	8d 04 31             	lea    (%ecx,%esi,1),%eax
63a0ab:	50                   	push   %eax
63a0ac:	8d 4d 0b             	lea    0xb(%ebp),%ecx
63a0af:	e8 bc 02 00 00       	call   0x63a370
63a0b4:	8b 4f 04             	mov    0x4(%edi),%ecx
63a0b7:	8b 7f 08             	mov    0x8(%edi),%edi
63a0ba:	c1 e3 02             	shl    $0x2,%ebx
63a0bd:	c1 e7 02             	shl    $0x2,%edi
63a0c0:	89 45 08             	mov    %eax,0x8(%ebp)
63a0c3:	8d 14 19             	lea    (%ecx,%ebx,1),%edx
63a0c6:	03 d8                	add    %eax,%ebx
63a0c8:	2b fa                	sub    %edx,%edi
63a0ca:	03 f9                	add    %ecx,%edi
63a0cc:	57                   	push   %edi
63a0cd:	52                   	push   %edx
63a0ce:	53                   	push   %ebx
63a0cf:	e8 ac 93 fa ff       	call   0x5e3480
63a0d4:	83 c4 0c             	add    $0xc,%esp
63a0d7:	8d 14 1f             	lea    (%edi,%ebx,1),%edx
63a0da:	89 55 f4             	mov    %edx,-0xc(%ebp)
63a0dd:	39 75 fc             	cmp    %esi,-0x4(%ebp)
63a0e0:	77 4a                	ja     0x63a12c
63a0e2:	8b 5d f8             	mov    -0x8(%ebp),%ebx
63a0e5:	8b 43 04             	mov    0x4(%ebx),%eax
63a0e8:	8b f8                	mov    %eax,%edi
63a0ea:	8b 5d fc             	mov    -0x4(%ebp),%ebx
63a0ed:	2b f8                	sub    %eax,%edi
63a0ef:	8d 0c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%ecx
63a0f6:	03 f9                	add    %ecx,%edi
63a0f8:	57                   	push   %edi
63a0f9:	50                   	push   %eax
63a0fa:	52                   	push   %edx
63a0fb:	e8 80 93 fa ff       	call   0x5e3480
63a100:	8b c6                	mov    %esi,%eax
63a102:	2b c3                	sub    %ebx,%eax
63a104:	c1 e0 02             	shl    $0x2,%eax
63a107:	50                   	push   %eax
63a108:	8b 45 f4             	mov    -0xc(%ebp),%eax
63a10b:	03 c7                	add    %edi,%eax
63a10d:	6a 00                	push   $0x0
63a10f:	50                   	push   %eax
63a110:	e8 eb 98 fa ff       	call   0x5e3a00
63a115:	8b 7d 08             	mov    0x8(%ebp),%edi
63a118:	8b cb                	mov    %ebx,%ecx
63a11a:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
63a121:	50                   	push   %eax
63a122:	6a 00                	push   $0x0
63a124:	57                   	push   %edi
63a125:	e8 d6 98 fa ff       	call   0x5e3a00
63a12a:	eb 44                	jmp    0x63a170
63a12c:	8b 7d f8             	mov    -0x8(%ebp),%edi
63a12f:	8d 1c b5 00 00 00 00 	lea    0x0(,%esi,4),%ebx
63a136:	53                   	push   %ebx
63a137:	8b 4f 04             	mov    0x4(%edi),%ecx
63a13a:	51                   	push   %ecx
63a13b:	52                   	push   %edx
63a13c:	e8 3f 93 fa ff       	call   0x5e3480
63a141:	8b 7f 04             	mov    0x4(%edi),%edi
63a144:	8b 55 fc             	mov    -0x4(%ebp),%edx
63a147:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
63a14a:	2b f8                	sub    %eax,%edi
63a14c:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
63a153:	03 f9                	add    %ecx,%edi
63a155:	57                   	push   %edi
63a156:	50                   	push   %eax
63a157:	ff 75 08             	push   0x8(%ebp)
63a15a:	e8 21 93 fa ff       	call   0x5e3480
63a15f:	8b 45 08             	mov    0x8(%ebp),%eax
63a162:	53                   	push   %ebx
63a163:	03 c7                	add    %edi,%eax
63a165:	6a 00                	push   $0x0
63a167:	50                   	push   %eax
63a168:	e8 93 98 fa ff       	call   0x5e3a00
63a16d:	8b 7d 08             	mov    0x8(%ebp),%edi