4a5974:	85 f6                	test   %esi,%esi
4a5976:	74 7a                	je     0x4a59f2
4a5978:	8b 44 24 38          	mov    0x38(%esp),%eax
4a597c:	8b 51 04             	mov    0x4(%ecx),%edx
4a597f:	8b 7e 04             	mov    0x4(%esi),%edi
4a5982:	85 c0                	test   %eax,%eax
4a5984:	74 1a                	je     0x4a59a0
4a5986:	8b 44 24 30          	mov    0x30(%esp),%eax
4a598a:	83 f8 01             	cmp    $0x1,%eax
4a598d:	7e 11                	jle    0x4a59a0
4a598f:	bd 01 00 00 00       	mov    $0x1,%ebp
4a5994:	8b d8                	mov    %eax,%ebx
4a5996:	2b e8                	sub    %eax,%ebp
4a5998:	8d 4c 08 07          	lea    0x7(%eax,%ecx,1),%ecx
4a599c:	03 d5                	add    %ebp,%edx
4a599e:	eb 08                	jmp    0x4a59a8
4a59a0:	bb 01 00 00 00       	mov    $0x1,%ebx
4a59a5:	83 c1 08             	add    $0x8,%ecx
4a59a8:	85 d2                	test   %edx,%edx
4a59aa:	7e 46                	jle    0x4a59f2
4a59ac:	85 ff                	test   %edi,%edi
4a59ae:	7e 42                	jle    0x4a59f2
4a59b0:	3b fa                	cmp    %edx,%edi
4a59b2:	7f 3e                	jg     0x4a59f2
4a59b4:	8d 47 ff             	lea    -0x1(%edi),%eax
4a59b7:	83 c6 08             	add    $0x8,%esi
4a59ba:	83 f8 05             	cmp    $0x5,%eax
4a59bd:	0f 87 d2 00 00 00    	ja     0x4a5a95
4a59c3:	ff 24 85 b0 5a 4a 00 	jmp    *0x4a5ab0(,%eax,4)
4a59ca:	8a 06                	mov    (%esi),%al
4a59cc:	50                   	push   %eax
4a59cd:	e8 ae 10 00 00       	call   0x4a6a80
4a59d2:	85 c0                	test   %eax,%eax
4a59d4:	7c 1c                	jl     0x4a59f2
4a59d6:	5f                   	pop    %edi
4a59d7:	5e                   	pop    %esi
4a59d8:	03 c3                	add    %ebx,%eax
4a59da:	5d                   	pop    %ebp
4a59db:	5b                   	pop    %ebx
4a59dc:	c3                   	ret
4a59dd:	33 c0                	xor    %eax,%eax
4a59df:	4a                   	dec    %edx
4a59e0:	85 d2                	test   %edx,%edx
4a59e2:	7e 0e                	jle    0x4a59f2
4a59e4:	66 8b 36             	mov    (%esi),%si
4a59e7:	66 39 34 08          	cmp    %si,(%eax,%ecx,1)
4a59eb:	74 e9                	je     0x4a59d6
4a59ed:	40                   	inc    %eax
4a59ee:	3b c2                	cmp    %edx,%eax
4a59f0:	7c f5                	jl     0x4a59e7
4a59f2:	5f                   	pop    %edi
4a59f3:	5e                   	pop    %esi
4a59f4:	5d                   	pop    %ebp
4a59f5:	83 c8 ff             	or     $0xffffffff,%eax
4a59f8:	5b                   	pop    %ebx
4a59f9:	c3                   	ret
4a59fa:	8d 7a fe             	lea    -0x2(%edx),%edi
4a59fd:	33 c0                	xor    %eax,%eax
4a59ff:	85 ff                	test   %edi,%edi
4a5a01:	7e ef                	jle    0x4a59f2
4a5a03:	66 8b 2e             	mov    (%esi),%bp
4a5a06:	66 39 2c 08          	cmp    %bp,(%eax,%ecx,1)
4a5a0a:	75 09                	jne    0x4a5a15
4a5a0c:	8a 54 08 02          	mov    0x2(%eax,%ecx,1),%dl
4a5a10:	3a 56 02             	cmp    0x2(%esi),%dl
4a5a13:	74 c1                	je     0x4a59d6
4a5a15:	40                   	inc    %eax
4a5a16:	3b c7                	cmp    %edi,%eax
4a5a18:	7c ec                	jl     0x4a5a06
4a5a1a:	5f                   	pop    %edi
4a5a1b:	5e                   	pop    %esi
4a5a1c:	5d                   	pop    %ebp
4a5a1d:	83 c8 ff             	or     $0xffffffff,%eax
4a5a20:	5b                   	pop    %ebx
4a5a21:	c3                   	ret
4a5a22:	83 c2 fd             	add    $0xfffffffd,%edx
4a5a25:	33 c0                	xor    %eax,%eax
4a5a27:	85 d2                	test   %edx,%edx
4a5a29:	7e c7                	jle    0x4a59f2
4a5a2b:	8b 36                	mov    (%esi),%esi
4a5a2d:	39 34 08             	cmp    %esi,(%eax,%ecx,1)
4a5a30:	74 a4                	je     0x4a59d6
4a5a32:	40                   	inc    %eax
4a5a33:	3b c2                	cmp    %edx,%eax
4a5a35:	7c f6                	jl     0x4a5a2d
4a5a37:	5f                   	pop    %edi
4a5a38:	5e                   	pop    %esi
4a5a39:	5d                   	pop    %ebp
4a5a3a:	83 c8 ff             	or     $0xffffffff,%eax
4a5a3d:	5b                   	pop    %ebx
4a5a3e:	c3                   	ret
4a5a3f:	8d 7a fc             	lea    -0x4(%edx),%edi
4a5a42:	33 c0                	xor    %eax,%eax
4a5a44:	85 ff                	test   %edi,%edi
4a5a46:	7e aa                	jle    0x4a59f2
4a5a48:	8b 2e                	mov    (%esi),%ebp
4a5a4a:	39 2c 08             	cmp    %ebp,(%eax,%ecx,1)
4a5a4d:	75 0d                	jne    0x4a5a5c
4a5a4f:	8a 54 08 04          	mov    0x4(%eax,%ecx,1),%dl
4a5a53:	3a 56 04             	cmp    0x4(%esi),%dl
4a5a56:	0f 84 7a ff ff ff    	je     0x4a59d6
4a5a5c:	40                   	inc    %eax
4a5a5d:	3b c7                	cmp    %edi,%eax
4a5a5f:	7c e9                	jl     0x4a5a4a
4a5a61:	5f                   	pop    %edi
4a5a62:	5e                   	pop    %esi
4a5a63:	5d                   	pop    %ebp
4a5a64:	83 c8 ff             	or     $0xffffffff,%eax
4a5a67:	5b                   	pop    %ebx
4a5a68:	c3                   	ret
4a5a69:	83 c2 fb             	add    $0xfffffffb,%edx
4a5a6c:	33 c0                	xor    %eax,%eax
4a5a6e:	85 d2                	test   %edx,%edx
4a5a70:	7e 80                	jle    0x4a59f2
4a5a72:	8b 3e                	mov    (%esi),%edi
4a5a74:	39 3c 08             	cmp    %edi,(%eax,%ecx,1)
4a5a77:	75 0f                	jne    0x4a5a88
4a5a79:	66 8b 6c 08 04       	mov    0x4(%eax,%ecx,1),%bp
4a5a7e:	66 3b 6e 04          	cmp    0x4(%esi),%bp
4a5a82:	0f 84 4e ff ff ff    	je     0x4a59d6
4a5a88:	40                   	inc    %eax
4a5a89:	3b c2                	cmp    %edx,%eax
4a5a8b:	7c e7                	jl     0x4a5a74
4a5a8d:	5f                   	pop    %edi
4a5a8e:	5e                   	pop    %esi
4a5a8f:	5d                   	pop    %ebp
4a5a90:	83 c8 ff             	or     $0xffffffff,%eax
4a5a93:	5b                   	pop    %ebx
4a5a94:	c3                   	ret
4a5a95:	57                   	push   %edi
4a5a96:	56                   	push   %esi
4a5a97:	52                   	push   %edx
4a5a98:	51                   	push   %ecx
4a5a99:	e8 c2 14 00 00       	call   0x4a6f60
4a5a9e:	83 c4 10             	add    $0x10,%esp
4a5aa1:	85 c0                	test   %eax,%eax
4a5aa3:	0f 8c 49 ff ff ff    	jl     0x4a59f2
4a5aa9:	5f                   	pop    %edi
4a5aaa:	5e                   	pop    %esi
4a5aab:	03 c3                	add    %ebx,%eax
4a5aad:	5d                   	pop    %ebp
4a5aae:	5b                   	pop    %ebx
4a5aaf:	c3                   	ret
4a5ab0:	ca 59 4a             	lret   $0x4a59
4a5ab3:	00 dd                	add    %bl,%ch
4a5ab5:	59                   	pop    %ecx
4a5ab6:	4a                   	dec    %edx
4a5ab7:	00 fa                	add    %bh,%dl
4a5ab9:	59                   	pop    %ecx
4a5aba:	4a                   	dec    %edx
4a5abb:	00 22                	add    %ah,(%edx)
4a5abd:	5a                   	pop    %edx
4a5abe:	4a                   	dec    %edx
4a5abf:	00 3f                	add    %bh,(%edi)
4a5ac1:	5a                   	pop    %edx
4a5ac2:	4a                   	dec    %edx
4a5ac3:	00 69 5a             	add    %ch,0x5a(%ecx)
4a5ac6:	4a                   	dec    %edx
4a5ac7:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%eax)
4a5acd:	90                   	nop
4a5ace:	90                   	nop
4a5acf:	90                   	nop
4a5ad0:	83 ec 08             	sub    $0x8,%esp
4a5ad3:	8d 44 24 00          	lea    0x0(%esp),%eax
4a5ad7:	50                   	push   %eax
4a5ad8:	ff 15 58 32 4b 00    	call   *0x4b3258
4a5ade:	8b 4c 24 00          	mov    0x0(%esp),%ecx
4a5ae2:	f7 d8                	neg    %eax
4a5ae4:	1b c0                	sbb    %eax,%eax
4a5ae6:	23 c1                	and    %ecx,%eax
4a5ae8:	83 c4 08             	add    $0x8,%esp
4a5aeb:	c3                   	ret
4a5aec:	90                   	nop
4a5aed:	90                   	nop
4a5aee:	90                   	nop
4a5aef:	90                   	nop
4a5af0:	83 ec 08             	sub    $0x8,%esp
4a5af3:	8d 44 24 00          	lea    0x0(%esp),%eax
4a5af7:	50                   	push   %eax
4a5af8:	ff 15 58 32 4b 00    	call   *0x4b3258
4a5afe:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4a5b02:	f7 d8                	neg    %eax
4a5b04:	1b c0                	sbb    %eax,%eax
4a5b06:	23 c1                	and    %ecx,%eax
4a5b08:	83 c4 08             	add    $0x8,%esp
4a5b0b:	c3                   	ret
4a5b0c:	90                   	nop
4a5b0d:	90                   	nop
4a5b0e:	90                   	nop
4a5b0f:	90                   	nop
4a5b10:	8b 54 24 08          	mov    0x8(%esp),%edx
4a5b14:	85 d2                	test   %edx,%edx
4a5b16:	74 24                	je     0x4a5b3c
4a5b18:	8b 42 04             	mov    0x4(%edx),%eax
4a5b1b:	85 c0                	test   %eax,%eax
4a5b1d:	74 1d                	je     0x4a5b3c
4a5b1f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a5b23:	85 c9                	test   %ecx,%ecx
4a5b25:	7e 15                	jle    0x4a5b3c
4a5b27:	2b c1                	sub    %ecx,%eax
4a5b29:	79 02                	jns    0x4a5b2d
4a5b2b:	33 c0                	xor    %eax,%eax
4a5b2d:	8d 44 02 08          	lea    0x8(%edx,%eax,1),%eax
4a5b31:	51                   	push   %ecx
4a5b32:	50                   	push   %eax
4a5b33:	e8 c8 15 00 00       	call   0x4a7100
4a5b38:	83 c4 08             	add    $0x8,%esp
4a5b3b:	c3                   	ret
4a5b3c:	33 c0                	xor    %eax,%eax
4a5b3e:	c3                   	ret
4a5b3f:	90                   	nop
4a5b40:	8b 44 24 08          	mov    0x8(%esp),%eax
4a5b44:	57                   	push   %edi
4a5b45:	6a 00                	push   $0x0
4a5b47:	6a 20                	push   $0x20
4a5b49:	6a 03                	push   $0x3
4a5b4b:	6a 00                	push   $0x0
4a5b4d:	6a 03                	push   $0x3
4a5b4f:	68 00 00 00 80       	push   $0x80000000
4a5b54:	50                   	push   %eax
4a5b55:	ff 15 c0 30 4b 00    	call   *0x4b30c0
4a5b5b:	8b f8                	mov    %eax,%edi
4a5b5d:	33 c0                	xor    %eax,%eax
4a5b5f:	83 ff ff             	cmp    $0xffffffff,%edi
4a5b62:	74 45                	je     0x4a5ba9
4a5b64:	53                   	push   %ebx
4a5b65:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4a5b69:	56                   	push   %esi
4a5b6a:	51                   	push   %ecx
4a5b6b:	57                   	push   %edi
4a5b6c:	ff 15 bc 30 4b 00    	call   *0x4b30bc
4a5b72:	8b d8                	mov    %eax,%ebx
4a5b74:	8d 53 08             	lea    0x8(%ebx),%edx
4a5b77:	52                   	push   %edx
4a5b78:	e8 c3 b1 ff ff       	call   0x4a0d40
4a5b7d:	83 c4 04             	add    $0x4,%esp
4a5b80:	8b f0                	mov    %eax,%esi
4a5b82:	8d 44 24 14          	lea    0x14(%esp),%eax
4a5b86:	6a 00                	push   $0x0
4a5b88:	50                   	push   %eax
4a5b89:	8d 4e 08             	lea    0x8(%esi),%ecx
4a5b8c:	53                   	push   %ebx
4a5b8d:	51                   	push   %ecx
4a5b8e:	57                   	push   %edi
4a5b8f:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
4a5b95:	89 5e 04             	mov    %ebx,0x4(%esi)
4a5b98:	ff 15 b8 30 4b 00    	call   *0x4b30b8
4a5b9e:	57                   	push   %edi
4a5b9f:	ff 15 80 31 4b 00    	call   *0x4b3180
4a5ba5:	8b c6                	mov    %esi,%eax
4a5ba7:	5e                   	pop    %esi
4a5ba8:	5b                   	pop    %ebx
4a5ba9:	5f                   	pop    %edi
4a5baa:	c3                   	ret
4a5bab:	90                   	nop
4a5bac:	90                   	nop
4a5bad:	90                   	nop
4a5bae:	90                   	nop
4a5baf:	90                   	nop
4a5bb0:	8b 44 24 20          	mov    0x20(%esp),%eax
4a5bb4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a5bb8:	8b 54 24 08          	mov    0x8(%esp),%edx
4a5bbc:	25 ff 00 00 00       	and    $0xff,%eax
4a5bc1:	c1 e0 08             	shl    $0x8,%eax
4a5bc4:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4a5bca:	81 e2 ff 00 00 00    	and    $0xff,%edx
4a5bd0:	0b c1                	or     %ecx,%eax
4a5bd2:	c1 e0 08             	shl    $0x8,%eax
4a5bd5:	0b c2                	or     %edx,%eax
4a5bd7:	c3                   	ret
4a5bd8:	90                   	nop
4a5bd9:	90                   	nop
4a5bda:	90                   	nop
4a5bdb:	90                   	nop
4a5bdc:	90                   	nop
4a5bdd:	90                   	nop
4a5bde:	90                   	nop
4a5bdf:	90                   	nop
4a5be0:	8b 54 24 08          	mov    0x8(%esp),%edx
4a5be4:	8b 44 24 14          	mov    0x14(%esp),%eax
4a5be8:	85 d2                	test   %edx,%edx
4a5bea:	74 30                	je     0x4a5c1c
4a5bec:	85 c0                	test   %eax,%eax
4a5bee:	74 2c                	je     0x4a5c1c
4a5bf0:	80 3a 00             	cmpb   $0x0,(%edx)
4a5bf3:	74 27                	je     0x4a5c1c
4a5bf5:	80 38 00             	cmpb   $0x0,(%eax)
4a5bf8:	74 22                	je     0x4a5c1c
4a5bfa:	2b d0                	sub    %eax,%edx
4a5bfc:	8a 08                	mov    (%eax),%cl
4a5bfe:	84 c9                	test   %cl,%cl
4a5c00:	74 0e                	je     0x4a5c10
4a5c02:	38 0c 02             	cmp    %cl,(%edx,%eax,1)
4a5c05:	75 09                	jne    0x4a5c10
4a5c07:	8a 4c 02 01          	mov    0x1(%edx,%eax,1),%cl
4a5c0b:	40                   	inc    %eax
4a5c0c:	84 c9                	test   %cl,%cl
4a5c0e:	75 ec                	jne    0x4a5bfc
4a5c10:	8a 10                	mov    (%eax),%dl
4a5c12:	33 c9                	xor    %ecx,%ecx
4a5c14:	84 d2                	test   %dl,%dl
4a5c16:	0f 94 c1             	sete   %cl
4a5c19:	8b c1                	mov    %ecx,%eax
4a5c1b:	c3                   	ret
4a5c1c:	33 c0                	xor    %eax,%eax
4a5c1e:	c3                   	ret
4a5c1f:	90                   	nop
4a5c20:	8b 44 24 10          	mov    0x10(%esp),%eax
4a5c24:	56                   	push   %esi
4a5c25:	33 f6                	xor    %esi,%esi
4a5c27:	3d 01 03 00 80       	cmp    $0x80000301,%eax
4a5c2c:	57                   	push   %edi
4a5c2d:	77 71                	ja     0x4a5ca0
4a5c2f:	74 15                	je     0x4a5c46
4a5c31:	3d 04 00 00 80       	cmp    $0x80000004,%eax
4a5c36:	74 24                	je     0x4a5c5c
4a5c38:	3d 01 01 00 80       	cmp    $0x80000101,%eax
4a5c3d:	74 11                	je     0x4a5c50
4a5c3f:	3d 01 02 00 80       	cmp    $0x80000201,%eax
4a5c44:	75 04                	jne    0x4a5c4a
4a5c46:	8b 74 24 10          	mov    0x10(%esp),%esi
4a5c4a:	66 8b c6             	mov    %si,%ax
4a5c4d:	5f                   	pop    %edi
4a5c4e:	5e                   	pop    %esi
4a5c4f:	c3                   	ret
4a5c50:	66 0f b6 74 24 10    	movzbw 0x10(%esp),%si
4a5c56:	66 8b c6             	mov    %si,%ax
4a5c59:	5f                   	pop    %edi
4a5c5a:	5e                   	pop    %esi
4a5c5b:	c3                   	ret
4a5c5c:	8b 54 24 10          	mov    0x10(%esp),%edx
4a5c60:	83 ec 0c             	sub    $0xc,%esp
4a5c63:	8b cc                	mov    %esp,%ecx
4a5c65:	6a 01                	push   $0x1
4a5c67:	89 11                	mov    %edx,(%ecx)
4a5c69:	8b 54 24 24          	mov    0x24(%esp),%edx
4a5c6d:	89 51 04             	mov    %edx,0x4(%ecx)
4a5c70:	89 41 08             	mov    %eax,0x8(%ecx)
4a5c73:	e8 88 13 00 00       	call   0x4a7000
4a5c78:	8b f8                	mov    %eax,%edi
4a5c7a:	83 c4 10             	add    $0x10,%esp
4a5c7d:	85 ff                	test   %edi,%edi
4a5c7f:	74 17                	je     0x4a5c98
4a5c81:	57                   	push   %edi
4a5c82:	e8 11 26 00 00       	call   0x4a8298
4a5c87:	57                   	push   %edi
4a5c88:	8b f0                	mov    %eax,%esi
4a5c8a:	e8 71 b1 ff ff       	call   0x4a0e00
4a5c8f:	83 c4 08             	add    $0x8,%esp
4a5c92:	66 8b c6             	mov    %si,%ax