42496a:	57                   	push   %edi
42496b:	8b f2                	mov    %edx,%esi
42496d:	8b d9                	mov    %ecx,%ebx
42496f:	6a 0d                	push   $0xd
424971:	59                   	pop    %ecx
424972:	85 f6                	test   %esi,%esi
424974:	75 4b                	jne    0x4249c1
424976:	8d 4d dc             	lea    -0x24(%ebp),%ecx
424979:	bf 1c 3a 40 00       	mov    $0x403a1c,%edi
42497e:	6a 10                	push   $0x10
424980:	8b c1                	mov    %ecx,%eax
424982:	5a                   	pop    %edx
424983:	2b f8                	sub    %eax,%edi
424985:	8d 82 ee ff ff 7f    	lea    0x7fffffee(%edx),%eax
42498b:	85 c0                	test   %eax,%eax
42498d:	74 14                	je     0x4249a3
42498f:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
424993:	66 85 c0             	test   %ax,%ax
424996:	74 0b                	je     0x4249a3
424998:	66 89 01             	mov    %ax,(%ecx)
42499b:	83 c1 02             	add    $0x2,%ecx
42499e:	83 ea 01             	sub    $0x1,%edx
4249a1:	75 e2                	jne    0x424985
4249a3:	85 d2                	test   %edx,%edx
4249a5:	75 03                	jne    0x4249aa
4249a7:	83 e9 02             	sub    $0x2,%ecx
4249aa:	68 d0 c9 43 00       	push   $0x43c9d0
4249af:	33 c0                	xor    %eax,%eax
4249b1:	6a 10                	push   $0x10
4249b3:	66 89 01             	mov    %ax,(%ecx)
4249b6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4249b9:	5a                   	pop    %edx
4249ba:	e8 81 b2 fe ff       	call   0x40fc40
4249bf:	eb 27                	jmp    0x4249e8
4249c1:	6a 3a                	push   $0x3a
4249c3:	58                   	pop    %eax
4249c4:	6a 2e                	push   $0x2e
4249c6:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
4249ca:	8b d1                	mov    %ecx,%edx
4249cc:	58                   	pop    %eax
4249cd:	66 89 45 de          	mov    %ax,-0x22(%ebp)
4249d1:	8d 4d e2             	lea    -0x1e(%ebp),%ecx
4249d4:	66 a1 e0 c9 43 00    	mov    0x43c9e0,%ax
4249da:	68 c0 c9 43 00       	push   $0x43c9c0
4249df:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4249e3:	e8 b8 a9 fe ff       	call   0x40f3a0
4249e8:	33 ff                	xor    %edi,%edi
4249ea:	85 db                	test   %ebx,%ebx
4249ec:	74 3b                	je     0x424a29
4249ee:	66 39 3b             	cmp    %di,(%ebx)
4249f1:	74 36                	je     0x424a29
4249f3:	8b cb                	mov    %ebx,%ecx
4249f5:	8d 51 02             	lea    0x2(%ecx),%edx
4249f8:	66 8b 01             	mov    (%ecx),%ax
4249fb:	83 c1 02             	add    $0x2,%ecx
4249fe:	66 3b c7             	cmp    %di,%ax
424a01:	75 f5                	jne    0x4249f8
424a03:	2b ca                	sub    %edx,%ecx
424a05:	d1 f9                	sar    $1,%ecx
424a07:	81 f9 04 01 00 00    	cmp    $0x104,%ecx
424a0d:	0f 83 f4 01 00 00    	jae    0x424c07
424a13:	53                   	push   %ebx
424a14:	ba 05 01 00 00       	mov    $0x105,%edx
424a19:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
424a1f:	e8 7c a9 fe ff       	call   0x40f3a0
424a24:	e9 db 00 00 00       	jmp    0x424b04
424a29:	a1 8c e5 42 00       	mov    0x42e58c,%eax
424a2e:	2b c7                	sub    %edi,%eax
424a30:	74 14                	je     0x424a46
424a32:	48                   	dec    %eax
424a33:	83 e8 01             	sub    $0x1,%eax
424a36:	74 07                	je     0x424a3f
424a38:	b8 1e 27 00 40       	mov    $0x4000271e,%eax
424a3d:	eb 0c                	jmp    0x424a4b
424a3f:	b8 1d 27 00 40       	mov    $0x4000271d,%eax
424a44:	eb 05                	jmp    0x424a4b
424a46:	b8 42 23 00 00       	mov    $0x2342,%eax
424a4b:	85 f6                	test   %esi,%esi
424a4d:	75 12                	jne    0x424a61
424a4f:	68 d0 c9 43 00       	push   $0x43c9d0
424a54:	6a 01                	push   $0x1
424a56:	50                   	push   %eax
424a57:	e8 61 19 fe ff       	call   0x4063bd
424a5c:	83 c4 0c             	add    $0xc,%esp
424a5f:	eb 0d                	jmp    0x424a6e
424a61:	57                   	push   %edi
424a62:	68 43 23 00 00       	push   $0x2343
424a67:	e8 51 19 fe ff       	call   0x4063bd
424a6c:	59                   	pop    %ecx
424a6d:	59                   	pop    %ecx
424a6e:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
424a74:	50                   	push   %eax
424a75:	68 04 01 00 00       	push   $0x104
424a7a:	57                   	push   %edi
424a7b:	ff 15 2c a4 44 00    	call   *0x44a42c
424a81:	59                   	pop    %ecx
424a82:	8d 95 a8 fd ff ff    	lea    -0x258(%ebp),%edx
424a88:	8b c8                	mov    %eax,%ecx
424a8a:	e8 0a fd ff ff       	call   0x424799
424a8f:	85 c0                	test   %eax,%eax
424a91:	0f 84 86 01 00 00    	je     0x424c1d
424a97:	8b 85 94 fd ff ff    	mov    -0x26c(%ebp),%eax
424a9d:	85 c0                	test   %eax,%eax
424a9f:	0f 84 78 01 00 00    	je     0x424c1d
424aa5:	33 c9                	xor    %ecx,%ecx
424aa7:	66 89 8c 45 a8 fd ff 	mov    %cx,-0x258(%ebp,%eax,2)
424aae:	ff
424aaf:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
424ab5:	66 8b 85 a8 fd ff ff 	mov    -0x258(%ebp),%ax
424abc:	66 85 c0             	test   %ax,%ax
424abf:	74 25                	je     0x424ae6
424ac1:	0f b7 d0             	movzwl %ax,%edx
424ac4:	66 83 fa 0a          	cmp    $0xa,%dx
424ac8:	74 17                	je     0x424ae1
424aca:	6a 0d                	push   $0xd
424acc:	58                   	pop    %eax
424acd:	66 3b d0             	cmp    %ax,%dx
424ad0:	74 0f                	je     0x424ae1
424ad2:	83 c1 02             	add    $0x2,%ecx
424ad5:	0f b7 01             	movzwl (%ecx),%eax
424ad8:	8b d0                	mov    %eax,%edx
424ada:	66 85 c0             	test   %ax,%ax
424add:	75 e5                	jne    0x424ac4
424adf:	eb 05                	jmp    0x424ae6
424ae1:	33 c0                	xor    %eax,%eax
424ae3:	66 89 01             	mov    %ax,(%ecx)
424ae6:	33 c9                	xor    %ecx,%ecx
424ae8:	e8 ab 92 fe ff       	call   0x40dd98
424aed:	85 c0                	test   %eax,%eax
424aef:	75 13                	jne    0x424b04
424af1:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
424af7:	50                   	push   %eax
424af8:	68 80 22 40 00       	push   $0x402280
424afd:	e8 4e 4e fe ff       	call   0x409950
424b02:	59                   	pop    %ecx
424b03:	59                   	pop    %ecx
424b04:	8d 45 dc             	lea    -0x24(%ebp),%eax
424b07:	50                   	push   %eax
424b08:	6a 10                	push   $0x10
424b0a:	5b                   	pop    %ebx
424b0b:	8b d3                	mov    %ebx,%edx
424b0d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
424b10:	e8 8b a8 fe ff       	call   0x40f3a0
424b15:	8b d3                	mov    %ebx,%edx
424b17:	8d 45 bc             	lea    -0x44(%ebp),%eax
424b1a:	66 39 38             	cmp    %di,(%eax)
424b1d:	74 08                	je     0x424b27
424b1f:	83 c0 02             	add    $0x2,%eax
424b22:	83 ea 01             	sub    $0x1,%edx
424b25:	75 f3                	jne    0x424b1a
424b27:	8b c3                	mov    %ebx,%eax
424b29:	8b ca                	mov    %edx,%ecx
424b2b:	2b c2                	sub    %edx,%eax
424b2d:	f7 d9                	neg    %ecx
424b2f:	1b c9                	sbb    %ecx,%ecx
424b31:	23 c8                	and    %eax,%ecx
424b33:	85 d2                	test   %edx,%edx
424b35:	74 3d                	je     0x424b74
424b37:	8b d3                	mov    %ebx,%edx
424b39:	8d 45 bc             	lea    -0x44(%ebp),%eax
424b3c:	8d 04 48             	lea    (%eax,%ecx,2),%eax
424b3f:	2b d1                	sub    %ecx,%edx
424b41:	74 29                	je     0x424b6c
424b43:	bb 2c 24 40 00       	mov    $0x40242c,%ebx
424b48:	b9 fe ff ff 7f       	mov    $0x7ffffffe,%ecx
424b4d:	2b d8                	sub    %eax,%ebx
424b4f:	85 c9                	test   %ecx,%ecx
424b51:	74 15                	je     0x424b68
424b53:	0f b7 3c 03          	movzwl (%ebx,%eax,1),%edi
424b57:	66 85 ff             	test   %di,%di
424b5a:	74 0c                	je     0x424b68
424b5c:	66 89 38             	mov    %di,(%eax)
424b5f:	83 c0 02             	add    $0x2,%eax
424b62:	49                   	dec    %ecx
424b63:	83 ea 01             	sub    $0x1,%edx
424b66:	75 e7                	jne    0x424b4f
424b68:	85 d2                	test   %edx,%edx
424b6a:	75 03                	jne    0x424b6f
424b6c:	83 e8 02             	sub    $0x2,%eax
424b6f:	33 c9                	xor    %ecx,%ecx
424b71:	66 89 08             	mov    %cx,(%eax)
424b74:	6a 02                	push   $0x2
424b76:	8d 55 bc             	lea    -0x44(%ebp),%edx
424b79:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
424b7f:	e8 ac 70 fe ff       	call   0x40bc30
424b84:	8b f8                	mov    %eax,%edi
424b86:	33 db                	xor    %ebx,%ebx
424b88:	66 39 1f             	cmp    %bx,(%edi)
424b8b:	0f 84 ad 00 00 00    	je     0x424c3e
424b91:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
424b97:	50                   	push   %eax
424b98:	ff 15 d0 a2 44 00    	call   *0x44a2d0
424b9e:	8d 45 dc             	lea    -0x24(%ebp),%eax
424ba1:	8b d7                	mov    %edi,%edx
424ba3:	8d 8d 98 fd ff ff    	lea    -0x268(%ebp),%ecx
424ba9:	50                   	push   %eax
424baa:	85 f6                	test   %esi,%esi
424bac:	75 07                	jne    0x424bb5
424bae:	e8 8f 00 00 00       	call   0x424c42
424bb3:	eb 05                	jmp    0x424bba
424bb5:	e8 03 02 00 00       	call   0x424dbd
424bba:	85 c0                	test   %eax,%eax
424bbc:	74 2b                	je     0x424be9
424bbe:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
424bc4:	50                   	push   %eax
424bc5:	ff 15 cc a2 44 00    	call   *0x44a2cc
424bcb:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
424bd1:	50                   	push   %eax
424bd2:	ff 15 cc a2 44 00    	call   *0x44a2cc
424bd8:	85 c0                	test   %eax,%eax
424bda:	75 62                	jne    0x424c3e
424bdc:	ff 15 80 a0 44 00    	call   *0x44a080
424be2:	3d 22 05 00 00       	cmp    $0x522,%eax
424be7:	74 46                	je     0x424c2f
424be9:	33 ff                	xor    %edi,%edi
424beb:	8b c6                	mov    %esi,%eax
424bed:	f7 d8                	neg    %eax
424bef:	57                   	push   %edi
424bf0:	1b c0                	sbb    %eax,%eax
424bf2:	83 e0 03             	and    $0x3,%eax
424bf5:	05 2f 23 00 00       	add    $0x232f,%eax
424bfa:	50                   	push   %eax
424bfb:	e8 bd 17 fe ff       	call   0x4063bd
424c00:	59                   	pop    %ecx
424c01:	59                   	pop    %ecx
424c02:	e9 e3 fd ff ff       	jmp    0x4249ea
424c07:	f7 de                	neg    %esi
424c09:	57                   	push   %edi
424c0a:	1b f6                	sbb    %esi,%esi
424c0c:	83 e6 03             	and    $0x3,%esi
424c0f:	81 c6 2f 23 00 00    	add    $0x232f,%esi
424c15:	56                   	push   %esi
424c16:	e8 a2 17 fe ff       	call   0x4063bd
424c1b:	59                   	pop    %ecx
424c1c:	59                   	pop    %ecx
424c1d:	33 c0                	xor    %eax,%eax
424c1f:	40                   	inc    %eax
424c20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424c23:	5f                   	pop    %edi
424c24:	5e                   	pop    %esi
424c25:	33 cd                	xor    %ebp,%ecx
424c27:	5b                   	pop    %ebx
424c28:	e8 03 1f ff ff       	call   0x416b30
424c2d:	c9                   	leave
424c2e:	c3                   	ret
424c2f:	53                   	push   %ebx
424c30:	ff 15 80 a0 44 00    	call   *0x44a080
424c36:	50                   	push   %eax
424c37:	e8 a8 2c fe ff       	call   0x4078e4
424c3c:	eb dd                	jmp    0x424c1b
424c3e:	33 c0                	xor    %eax,%eax
424c40:	eb de                	jmp    0x424c20
424c42:	8b ff                	mov    %edi,%edi
424c44:	55                   	push   %ebp
424c45:	8b ec                	mov    %esp,%ebp
424c47:	83 ec 2c             	sub    $0x2c,%esp
424c4a:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
424c4f:	33 c5                	xor    %ebp,%eax
424c51:	89 45 fc             	mov    %eax,-0x4(%ebp)
424c54:	8b 45 08             	mov    0x8(%ebp),%eax
424c57:	89 45 d8             	mov    %eax,-0x28(%ebp)
424c5a:	a1 8c e5 42 00       	mov    0x42e58c,%eax
424c5f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
424c62:	53                   	push   %ebx
424c63:	8b da                	mov    %edx,%ebx
424c65:	57                   	push   %edi
424c66:	83 e8 00             	sub    $0x0,%eax
424c69:	74 24                	je     0x424c8f
424c6b:	48                   	dec    %eax
424c6c:	83 e8 01             	sub    $0x1,%eax
424c6f:	74 0e                	je     0x424c7f
424c71:	8d 4d f0             	lea    -0x10(%ebp),%ecx
424c74:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
424c77:	8d 4d f4             	lea    -0xc(%ebp),%ecx
424c7a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
424c7d:	eb 1c                	jmp    0x424c9b
424c7f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
424c82:	33 ff                	xor    %edi,%edi
424c84:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
424c87:	8d 4d f4             	lea    -0xc(%ebp),%ecx
424c8a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
424c8d:	eb 0f                	jmp    0x424c9e
424c8f:	8d 45 f4             	lea    -0xc(%ebp),%eax
424c92:	89 45 e4             	mov    %eax,-0x1c(%ebp)
424c95:	8d 45 f0             	lea    -0x10(%ebp),%eax
424c98:	89 45 e0             	mov    %eax,-0x20(%ebp)
424c9b:	6a 02                	push   $0x2
424c9d:	5f                   	pop    %edi
424c9e:	33 c0                	xor    %eax,%eax
424ca0:	89 45 ec             	mov    %eax,-0x14(%ebp)
424ca3:	0f b7 03             	movzwl (%ebx),%eax
424ca6:	89 5d e8             	mov    %ebx,-0x18(%ebp)
424ca9:	66 85 c0             	test   %ax,%ax
424cac:	74 21                	je     0x424ccf
424cae:	8b c8                	mov    %eax,%ecx
424cb0:	51                   	push   %ecx
424cb1:	ff 15 34 a4 44 00    	call   *0x44a434
424cb7:	59                   	pop    %ecx
424cb8:	85 c0                	test   %eax,%eax
424cba:	74 50                	je     0x424d0c
424cbc:	8b 45 e8             	mov    -0x18(%ebp),%eax
424cbf:	83 c0 02             	add    $0x2,%eax
424cc2:	89 45 e8             	mov    %eax,-0x18(%ebp)
424cc5:	0f b7 00             	movzwl (%eax),%eax
424cc8:	8b c8                	mov    %eax,%ecx
424cca:	66 85 c0             	test   %ax,%ax
424ccd:	75 e1                	jne    0x424cb0
424ccf:	6a 0a                	push   $0xa
424cd1:	6a 00                	push   $0x0
424cd3:	53                   	push   %ebx
424cd4:	ff 15 38 a4 44 00    	call   *0x44a438
424cda:	8b 55 ec             	mov    -0x14(%ebp),%edx
424cdd:	83 c4 0c             	add    $0xc,%esp
424ce0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
424ce3:	89 45 dc             	mov    %eax,-0x24(%ebp)
424ce6:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
424cea:	8b c1                	mov    %ecx,%eax
424cec:	2b c3                	sub    %ebx,%eax
424cee:	d1 f8                	sar    $1,%eax
424cf0:	3b d7                	cmp    %edi,%edx
424cf2:	75 2a                	jne    0x424d1e
424cf4:	83 f8 02             	cmp    $0x2,%eax
424cf7:	74 05                	je     0x424cfe
424cf9:	83 f8 04             	cmp    $0x4,%eax
424cfc:	75 0e                	jne    0x424d0c
424cfe:	83 f8 04             	cmp    $0x4,%eax
424d01:	75 25                	jne    0x424d28
424d03:	81 7d dc 40 06 00 00 	cmpl   $0x640,-0x24(%ebp)
424d0a:	7d 1c                	jge    0x424d28
424d0c:	33 c0                	xor    %eax,%eax
424d0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424d11:	5f                   	pop    %edi
424d12:	33 cd                	xor    %ebp,%ecx
424d14:	5b                   	pop    %ebx
424d15:	e8 16 1e ff ff       	call   0x416b30
424d1a:	c9                   	leave
424d1b:	c2 04 00             	ret    $0x4
424d1e:	83 f8 01             	cmp    $0x1,%eax
424d21:	74 05                	je     0x424d28
424d23:	83 f8 02             	cmp    $0x2,%eax
424d26:	75 e4                	jne    0x424d0c
424d28:	8d 59 02             	lea    0x2(%ecx),%ebx
424d2b:	83 fa 02             	cmp    $0x2,%edx
424d2e:	7d 1b                	jge    0x424d4b
424d30:	0f b7 03             	movzwl (%ebx),%eax
424d33:	66 85 c0             	test   %ax,%ax
424d36:	74 d4                	je     0x424d0c
424d38:	50                   	push   %eax
424d39:	ff 75 d8             	push   -0x28(%ebp)
424d3c:	ff 15 b0 a3 44 00    	call   *0x44a3b0