435bb1:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
435bb7:	6a 78                	push   $0x78
435bb9:	50                   	push   %eax
435bba:	8b 4e 60             	mov    0x60(%esi),%ecx
435bbd:	f7 d9                	neg    %ecx
435bbf:	1b c9                	sbb    %ecx,%ecx
435bc1:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
435bc7:	81 c1 01 10 00 00    	add    $0x1001,%ecx
435bcd:	51                   	push   %ecx
435bce:	57                   	push   %edi
435bcf:	e8 9c 94 ff ff       	call   0x42f070
435bd4:	85 c0                	test   %eax,%eax
435bd6:	75 06                	jne    0x435bde
435bd8:	21 46 58             	and    %eax,0x58(%esi)
435bdb:	40                   	inc    %eax
435bdc:	eb 56                	jmp    0x435c34
435bde:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
435be4:	50                   	push   %eax
435be5:	ff 76 50             	push   0x50(%esi)
435be8:	e8 93 23 ff ff       	call   0x427f80
435bed:	59                   	pop    %ecx
435bee:	59                   	pop    %ecx
435bef:	85 c0                	test   %eax,%eax
435bf1:	75 36                	jne    0x435c29
435bf3:	8b cf                	mov    %edi,%ecx
435bf5:	53                   	push   %ebx
435bf6:	33 db                	xor    %ebx,%ebx
435bf8:	8d 51 02             	lea    0x2(%ecx),%edx
435bfb:	66 8b 01             	mov    (%ecx),%ax
435bfe:	83 c1 02             	add    $0x2,%ecx
435c01:	66 3b c3             	cmp    %bx,%ax
435c04:	75 f5                	jne    0x435bfb
435c06:	2b ca                	sub    %edx,%ecx
435c08:	d1 f9                	sar    $1,%ecx
435c0a:	8d 41 01             	lea    0x1(%ecx),%eax
435c0d:	50                   	push   %eax
435c0e:	57                   	push   %edi
435c0f:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
435c15:	6a 55                	push   $0x55
435c17:	50                   	push   %eax
435c18:	e8 8b 21 ff ff       	call   0x427da8
435c1d:	83 c4 10             	add    $0x10,%esp
435c20:	85 c0                	test   %eax,%eax
435c22:	75 20                	jne    0x435c44
435c24:	83 4e 58 04          	orl    $0x4,0x58(%esi)
435c28:	5b                   	pop    %ebx
435c29:	8b 46 58             	mov    0x58(%esi),%eax
435c2c:	c1 e8 02             	shr    $0x2,%eax
435c2f:	f7 d0                	not    %eax
435c31:	83 e0 01             	and    $0x1,%eax
435c34:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435c37:	5f                   	pop    %edi
435c38:	33 cd                	xor    %ebp,%ecx
435c3a:	5e                   	pop    %esi
435c3b:	e8 90 5c fe ff       	call   0x41b8d0
435c40:	c9                   	leave
435c41:	c2 0c 00             	ret    $0xc
435c44:	53                   	push   %ebx
435c45:	53                   	push   %ebx
435c46:	53                   	push   %ebx
435c47:	53                   	push   %ebx
435c48:	53                   	push   %ebx
435c49:	e8 4e ae fe ff       	call   0x420a9c
435c4e:	cc                   	int3
435c4f:	8b ff                	mov    %edi,%edi
435c51:	55                   	push   %ebp
435c52:	8b ec                	mov    %esp,%ebp
435c54:	51                   	push   %ecx
435c55:	56                   	push   %esi
435c56:	8b 75 08             	mov    0x8(%ebp),%esi
435c59:	57                   	push   %edi
435c5a:	85 f6                	test   %esi,%esi
435c5c:	0f 84 be 00 00 00    	je     0x435d20
435c62:	33 ff                	xor    %edi,%edi
435c64:	66 39 3e             	cmp    %di,(%esi)
435c67:	0f 84 b3 00 00 00    	je     0x435d20
435c6d:	b9 e0 47 44 00       	mov    $0x4447e0,%ecx
435c72:	8b c6                	mov    %esi,%eax
435c74:	66 8b 10             	mov    (%eax),%dx
435c77:	66 3b 11             	cmp    (%ecx),%dx
435c7a:	75 1e                	jne    0x435c9a
435c7c:	66 85 d2             	test   %dx,%dx
435c7f:	74 15                	je     0x435c96
435c81:	66 8b 50 02          	mov    0x2(%eax),%dx
435c85:	66 3b 51 02          	cmp    0x2(%ecx),%dx
435c89:	75 0f                	jne    0x435c9a
435c8b:	83 c0 04             	add    $0x4,%eax
435c8e:	83 c1 04             	add    $0x4,%ecx
435c91:	66 85 d2             	test   %dx,%dx
435c94:	75 de                	jne    0x435c74
435c96:	8b c7                	mov    %edi,%eax
435c98:	eb 05                	jmp    0x435c9f
435c9a:	1b c0                	sbb    %eax,%eax
435c9c:	83 c8 01             	or     $0x1,%eax
435c9f:	85 c0                	test   %eax,%eax
435ca1:	74 7d                	je     0x435d20
435ca3:	68 d4 47 44 00       	push   $0x4447d4
435ca8:	56                   	push   %esi
435ca9:	e8 d2 22 ff ff       	call   0x427f80
435cae:	59                   	pop    %ecx
435caf:	59                   	pop    %ecx
435cb0:	85 c0                	test   %eax,%eax
435cb2:	74 5a                	je     0x435d0e
435cb4:	68 e8 47 44 00       	push   $0x4447e8
435cb9:	56                   	push   %esi
435cba:	e8 c1 22 ff ff       	call   0x427f80
435cbf:	59                   	pop    %ecx
435cc0:	59                   	pop    %ecx
435cc1:	85 c0                	test   %eax,%eax
435cc3:	74 49                	je     0x435d0e
435cc5:	b9 f4 47 44 00       	mov    $0x4447f4,%ecx
435cca:	8b c6                	mov    %esi,%eax
435ccc:	66 8b 10             	mov    (%eax),%dx
435ccf:	66 3b 11             	cmp    (%ecx),%dx
435cd2:	75 1c                	jne    0x435cf0
435cd4:	66 85 d2             	test   %dx,%dx
435cd7:	74 1c                	je     0x435cf5
435cd9:	66 8b 50 02          	mov    0x2(%eax),%dx
435cdd:	66 3b 51 02          	cmp    0x2(%ecx),%dx
435ce1:	75 0d                	jne    0x435cf0
435ce3:	83 c0 04             	add    $0x4,%eax
435ce6:	83 c1 04             	add    $0x4,%ecx
435ce9:	66 85 d2             	test   %dx,%dx
435cec:	75 de                	jne    0x435ccc
435cee:	eb 05                	jmp    0x435cf5
435cf0:	1b ff                	sbb    %edi,%edi
435cf2:	83 cf 01             	or     $0x1,%edi
435cf5:	85 ff                	test   %edi,%edi
435cf7:	75 1e                	jne    0x435d17
435cf9:	6a 02                	push   $0x2
435cfb:	8d 45 fc             	lea    -0x4(%ebp),%eax
435cfe:	50                   	push   %eax
435cff:	68 0b 00 00 20       	push   $0x2000000b
435d04:	eb 25                	jmp    0x435d2b
435d06:	8b 45 fc             	mov    -0x4(%ebp),%eax
435d09:	83 f8 03             	cmp    $0x3,%eax
435d0c:	7d 05                	jge    0x435d13
435d0e:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
435d13:	5f                   	pop    %edi
435d14:	5e                   	pop    %esi
435d15:	c9                   	leave
435d16:	c3                   	ret
435d17:	56                   	push   %esi
435d18:	e8 38 1f ff ff       	call   0x427c55
435d1d:	59                   	pop    %ecx
435d1e:	eb f3                	jmp    0x435d13
435d20:	6a 02                	push   $0x2
435d22:	8d 45 fc             	lea    -0x4(%ebp),%eax
435d25:	50                   	push   %eax
435d26:	68 04 10 00 20       	push   $0x20001004
435d2b:	8b 45 0c             	mov    0xc(%ebp),%eax
435d2e:	05 50 02 00 00       	add    $0x250,%eax
435d33:	50                   	push   %eax
435d34:	e8 37 93 ff ff       	call   0x42f070
435d39:	85 c0                	test   %eax,%eax
435d3b:	75 c9                	jne    0x435d06
435d3d:	eb d4                	jmp    0x435d13
435d3f:	8b ff                	mov    %edi,%edi
435d41:	55                   	push   %ebp
435d42:	8b ec                	mov    %esp,%ebp
435d44:	83 ec 18             	sub    $0x18,%esp
435d47:	a1 14 40 45 00       	mov    0x454014,%eax
435d4c:	33 c5                	xor    %ebp,%eax
435d4e:	89 45 fc             	mov    %eax,-0x4(%ebp)
435d51:	56                   	push   %esi
435d52:	8b 75 08             	mov    0x8(%ebp),%esi
435d55:	8d 45 e8             	lea    -0x18(%ebp),%eax
435d58:	6a 09                	push   $0x9
435d5a:	50                   	push   %eax
435d5b:	6a 59                	push   $0x59
435d5d:	56                   	push   %esi
435d5e:	e8 0d 93 ff ff       	call   0x42f070
435d63:	85 c0                	test   %eax,%eax
435d65:	74 16                	je     0x435d7d
435d67:	6a 09                	push   $0x9
435d69:	8d 45 e8             	lea    -0x18(%ebp),%eax
435d6c:	56                   	push   %esi
435d6d:	50                   	push   %eax
435d6e:	e8 7c 24 ff ff       	call   0x4281ef
435d73:	83 c4 0c             	add    $0xc,%esp
435d76:	f7 d8                	neg    %eax
435d78:	1b c0                	sbb    %eax,%eax
435d7a:	40                   	inc    %eax
435d7b:	eb 02                	jmp    0x435d7f
435d7d:	33 c0                	xor    %eax,%eax
435d7f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435d82:	33 cd                	xor    %ebp,%ecx
435d84:	5e                   	pop    %esi
435d85:	e8 46 5b fe ff       	call   0x41b8d0
435d8a:	c9                   	leave
435d8b:	c3                   	ret
435d8c:	8b ff                	mov    %edi,%edi
435d8e:	55                   	push   %ebp
435d8f:	8b ec                	mov    %esp,%ebp
435d91:	51                   	push   %ecx
435d92:	56                   	push   %esi
435d93:	8b 75 0c             	mov    0xc(%ebp),%esi
435d96:	33 d2                	xor    %edx,%edx
435d98:	57                   	push   %edi
435d99:	42                   	inc    %edx
435d9a:	33 ff                	xor    %edi,%edi
435d9c:	85 f6                	test   %esi,%esi
435d9e:	78 4e                	js     0x435dee
435da0:	53                   	push   %ebx
435da1:	85 d2                	test   %edx,%edx
435da3:	74 48                	je     0x435ded
435da5:	8d 04 37             	lea    (%edi,%esi,1),%eax
435da8:	99                   	cltd
435da9:	2b c2                	sub    %edx,%eax
435dab:	8b d8                	mov    %eax,%ebx
435dad:	8b 45 08             	mov    0x8(%ebp),%eax
435db0:	d1 fb                	sar    $1,%ebx
435db2:	6b cb 0c             	imul   $0xc,%ebx,%ecx
435db5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
435db8:	ff 34 01             	push   (%ecx,%eax,1)
435dbb:	8b 45 10             	mov    0x10(%ebp),%eax
435dbe:	ff 30                	push   (%eax)
435dc0:	e8 bb 21 ff ff       	call   0x427f80
435dc5:	8b d0                	mov    %eax,%edx
435dc7:	59                   	pop    %ecx
435dc8:	59                   	pop    %ecx
435dc9:	85 d2                	test   %edx,%edx
435dcb:	75 12                	jne    0x435ddf
435dcd:	8b 45 08             	mov    0x8(%ebp),%eax
435dd0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435dd3:	83 c0 04             	add    $0x4,%eax
435dd6:	03 c8                	add    %eax,%ecx
435dd8:	8b 45 10             	mov    0x10(%ebp),%eax
435ddb:	89 08                	mov    %ecx,(%eax)
435ddd:	eb 0a                	jmp    0x435de9
435ddf:	79 05                	jns    0x435de6
435de1:	8d 73 ff             	lea    -0x1(%ebx),%esi
435de4:	eb 03                	jmp    0x435de9
435de6:	8d 7b 01             	lea    0x1(%ebx),%edi
435de9:	3b fe                	cmp    %esi,%edi
435deb:	7e b4                	jle    0x435da1
435ded:	5b                   	pop    %ebx
435dee:	33 c0                	xor    %eax,%eax
435df0:	85 d2                	test   %edx,%edx
435df2:	5f                   	pop    %edi
435df3:	0f 94 c0             	sete   %al
435df6:	5e                   	pop    %esi
435df7:	c9                   	leave
435df8:	c3                   	ret
435df9:	8b ff                	mov    %edi,%edi
435dfb:	55                   	push   %ebp
435dfc:	8b ec                	mov    %esp,%ebp
435dfe:	51                   	push   %ecx
435dff:	51                   	push   %ecx
435e00:	53                   	push   %ebx
435e01:	56                   	push   %esi
435e02:	57                   	push   %edi
435e03:	e8 21 63 ff ff       	call   0x42c129
435e08:	8b 7d 08             	mov    0x8(%ebp),%edi
435e0b:	33 c9                	xor    %ecx,%ecx
435e0d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
435e10:	8d 70 50             	lea    0x50(%eax),%esi
435e13:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
435e19:	89 4e 08             	mov    %ecx,0x8(%esi)
435e1c:	66 89 08             	mov    %cx,(%eax)
435e1f:	8d 5e 04             	lea    0x4(%esi),%ebx
435e22:	89 45 fc             	mov    %eax,-0x4(%ebp)
435e25:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
435e2b:	89 3e                	mov    %edi,(%esi)
435e2d:	89 03                	mov    %eax,(%ebx)
435e2f:	66 39 08             	cmp    %cx,(%eax)
435e32:	74 12                	je     0x435e46
435e34:	53                   	push   %ebx
435e35:	6a 16                	push   $0x16
435e37:	68 50 3d 44 00       	push   $0x443d50
435e3c:	e8 4b ff ff ff       	call   0x435d8c
435e41:	83 c4 0c             	add    $0xc,%esp
435e44:	33 c9                	xor    %ecx,%ecx
435e46:	8b 06                	mov    (%esi),%eax
435e48:	56                   	push   %esi
435e49:	66 39 08             	cmp    %cx,(%eax)
435e4c:	74 47                	je     0x435e95
435e4e:	8b 03                	mov    (%ebx),%eax
435e50:	66 39 08             	cmp    %cx,(%eax)
435e53:	74 07                	je     0x435e5c
435e55:	e8 1c f9 ff ff       	call   0x435776
435e5a:	eb 05                	jmp    0x435e61
435e5c:	e8 ae f9 ff ff       	call   0x43580f
435e61:	33 c0                	xor    %eax,%eax
435e63:	59                   	pop    %ecx
435e64:	39 46 08             	cmp    %eax,0x8(%esi)
435e67:	75 32                	jne    0x435e9b
435e69:	56                   	push   %esi
435e6a:	6a 40                	push   $0x40
435e6c:	68 40 3a 44 00       	push   $0x443a40
435e71:	e8 16 ff ff ff       	call   0x435d8c
435e76:	83 c4 0c             	add    $0xc,%esp
435e79:	85 c0                	test   %eax,%eax
435e7b:	74 1e                	je     0x435e9b
435e7d:	8b 03                	mov    (%ebx),%eax
435e7f:	33 c9                	xor    %ecx,%ecx
435e81:	56                   	push   %esi
435e82:	66 39 08             	cmp    %cx,(%eax)
435e85:	74 07                	je     0x435e8e
435e87:	e8 ea f8 ff ff       	call   0x435776
435e8c:	eb 0c                	jmp    0x435e9a
435e8e:	e8 7c f9 ff ff       	call   0x43580f
435e93:	eb 05                	jmp    0x435e9a
435e95:	e8 55 f8 ff ff       	call   0x4356ef
435e9a:	59                   	pop    %ecx
435e9b:	33 db                	xor    %ebx,%ebx
435e9d:	39 5e 08             	cmp    %ebx,0x8(%esi)
435ea0:	0f 84 44 01 00 00    	je     0x435fea
435ea6:	85 ff                	test   %edi,%edi
435ea8:	74 16                	je     0x435ec0
435eaa:	66 39 1f             	cmp    %bx,(%edi)
435ead:	75 11                	jne    0x435ec0
435eaf:	66 39 9f 00 01 00 00 	cmp    %bx,0x100(%edi)
435eb6:	75 08                	jne    0x435ec0
435eb8:	ff 15 3c f0 43 00    	call   *0x43f03c
435ebe:	eb 15                	jmp    0x435ed5
435ec0:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
435ec6:	f7 df                	neg    %edi
435ec8:	56                   	push   %esi
435ec9:	1b ff                	sbb    %edi,%edi
435ecb:	23 f8                	and    %eax,%edi
435ecd:	57                   	push   %edi
435ece:	e8 7c fd ff ff       	call   0x435c4f
435ed3:	59                   	pop    %ecx
435ed4:	59                   	pop    %ecx
435ed5:	8b f0                	mov    %eax,%esi
435ed7:	85 f6                	test   %esi,%esi
435ed9:	0f 84 0b 01 00 00    	je     0x435fea
435edf:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
435ee5:	0f 84 ff 00 00 00    	je     0x435fea
435eeb:	0f b7 c6             	movzwl %si,%eax
435eee:	50                   	push   %eax
435eef:	ff 15 bc f1 43 00    	call   *0x43f1bc
435ef5:	85 c0                	test   %eax,%eax
435ef7:	0f 84 ed 00 00 00    	je     0x435fea
435efd:	8b 45 0c             	mov    0xc(%ebp),%eax
435f00:	85 c0                	test   %eax,%eax
435f02:	74 02                	je     0x435f06
435f04:	89 30                	mov    %esi,(%eax)
435f06:	8b 7d 10             	mov    0x10(%ebp),%edi
435f09:	85 ff                	test   %edi,%edi
435f0b:	0f 84 c4 00 00 00    	je     0x435fd5
435f11:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435f14:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
435f1a:	33 c0                	xor    %eax,%eax
435f1c:	66 89 03             	mov    %ax,(%ebx)
435f1f:	8d 51 02             	lea    0x2(%ecx),%edx
435f22:	66 8b 01             	mov    (%ecx),%ax
435f25:	83 c1 02             	add    $0x2,%ecx
435f28:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax