4389e6:	c2 0c 00             	ret    $0xc
4389e9:	e8 e2 06 00 00       	call   0x4390d0
4389ee:	e8 dd 06 00 00       	call   0x4390d0
4389f3:	e8 d8 05 00 00       	call   0x438fd0
4389f8:	cc                   	int3
4389f9:	cc                   	int3
4389fa:	cc                   	int3
4389fb:	cc                   	int3
4389fc:	cc                   	int3
4389fd:	cc                   	int3
4389fe:	cc                   	int3
4389ff:	cc                   	int3
438a00:	55                   	push   %ebp
438a01:	8b ec                	mov    %esp,%ebp
438a03:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
438a07:	56                   	push   %esi
438a08:	57                   	push   %edi
438a09:	8b 7d 0c             	mov    0xc(%ebp),%edi
438a0c:	8b f1                	mov    %ecx,%esi
438a0e:	74 49                	je     0x438a59
438a10:	8b 46 14             	mov    0x14(%esi),%eax
438a13:	83 f8 10             	cmp    $0x10,%eax
438a16:	72 41                	jb     0x438a59
438a18:	53                   	push   %ebx
438a19:	8b 1e                	mov    (%esi),%ebx
438a1b:	85 ff                	test   %edi,%edi
438a1d:	74 0e                	je     0x438a2d
438a1f:	57                   	push   %edi
438a20:	53                   	push   %ebx
438a21:	56                   	push   %esi
438a22:	e8 d9 a4 1a 00       	call   0x5e2f00
438a27:	8b 46 14             	mov    0x14(%esi),%eax
438a2a:	83 c4 0c             	add    $0xc,%esp
438a2d:	40                   	inc    %eax
438a2e:	3d 00 10 00 00       	cmp    $0x1000,%eax
438a33:	72 1a                	jb     0x438a4f
438a35:	f6 c3 1f             	test   $0x1f,%bl
438a38:	75 33                	jne    0x438a6d
438a3a:	8b 43 fc             	mov    -0x4(%ebx),%eax
438a3d:	3b c3                	cmp    %ebx,%eax
438a3f:	73 2c                	jae    0x438a6d
438a41:	2b d8                	sub    %eax,%ebx
438a43:	83 fb 04             	cmp    $0x4,%ebx
438a46:	72 25                	jb     0x438a6d
438a48:	83 fb 23             	cmp    $0x23,%ebx
438a4b:	77 20                	ja     0x438a6d
438a4d:	8b d8                	mov    %eax,%ebx
438a4f:	53                   	push   %ebx
438a50:	e8 7b 7a 0b 00       	call   0x4f04d0
438a55:	83 c4 04             	add    $0x4,%esp
438a58:	5b                   	pop    %ebx
438a59:	89 7e 10             	mov    %edi,0x10(%esi)
438a5c:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
438a63:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
438a67:	5f                   	pop    %edi
438a68:	5e                   	pop    %esi
438a69:	5d                   	pop    %ebp
438a6a:	c2 08 00             	ret    $0x8
438a6d:	e8 bd 44 1b 00       	call   0x5ecf2f
438a72:	cc                   	int3
438a73:	cc                   	int3
438a74:	cc                   	int3
438a75:	cc                   	int3
438a76:	cc                   	int3
438a77:	cc                   	int3
438a78:	cc                   	int3
438a79:	cc                   	int3
438a7a:	cc                   	int3
438a7b:	cc                   	int3
438a7c:	cc                   	int3
438a7d:	cc                   	int3
438a7e:	cc                   	int3
438a7f:	cc                   	int3
438a80:	55                   	push   %ebp
438a81:	8b ec                	mov    %esp,%ebp
438a83:	53                   	push   %ebx
438a84:	8b 5d 08             	mov    0x8(%ebp),%ebx
438a87:	56                   	push   %esi
438a88:	57                   	push   %edi
438a89:	8b f1                	mov    %ecx,%esi
438a8b:	80 3b 00             	cmpb   $0x0,(%ebx)
438a8e:	75 04                	jne    0x438a94
438a90:	33 ff                	xor    %edi,%edi
438a92:	eb 15                	jmp    0x438aa9
438a94:	8b fb                	mov    %ebx,%edi
438a96:	8d 4f 01             	lea    0x1(%edi),%ecx
438a99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
438aa0:	8a 07                	mov    (%edi),%al
438aa2:	47                   	inc    %edi
438aa3:	84 c0                	test   %al,%al
438aa5:	75 f9                	jne    0x438aa0
438aa7:	2b f9                	sub    %ecx,%edi
438aa9:	8b 4e 14             	mov    0x14(%esi),%ecx
438aac:	83 f9 10             	cmp    $0x10,%ecx
438aaf:	72 04                	jb     0x438ab5
438ab1:	8b 06                	mov    (%esi),%eax
438ab3:	eb 02                	jmp    0x438ab7
438ab5:	8b c6                	mov    %esi,%eax
438ab7:	3b d8                	cmp    %eax,%ebx
438ab9:	72 47                	jb     0x438b02
438abb:	83 f9 10             	cmp    $0x10,%ecx
438abe:	72 04                	jb     0x438ac4
438ac0:	8b 16                	mov    (%esi),%edx
438ac2:	eb 02                	jmp    0x438ac6
438ac4:	8b d6                	mov    %esi,%edx
438ac6:	8b 46 10             	mov    0x10(%esi),%eax
438ac9:	03 c2                	add    %edx,%eax
438acb:	3b c3                	cmp    %ebx,%eax
438acd:	76 33                	jbe    0x438b02
438acf:	83 f9 10             	cmp    $0x10,%ecx
438ad2:	72 17                	jb     0x438aeb
438ad4:	8b 06                	mov    (%esi),%eax
438ad6:	8b ce                	mov    %esi,%ecx
438ad8:	57                   	push   %edi
438ad9:	2b d8                	sub    %eax,%ebx
438adb:	53                   	push   %ebx
438adc:	56                   	push   %esi
438add:	e8 9e 01 00 00       	call   0x438c80
438ae2:	5f                   	pop    %edi
438ae3:	8b f0                	mov    %eax,%esi
438ae5:	5e                   	pop    %esi
438ae6:	5b                   	pop    %ebx
438ae7:	5d                   	pop    %ebp
438ae8:	c2 04 00             	ret    $0x4
438aeb:	8b c6                	mov    %esi,%eax
438aed:	8b ce                	mov    %esi,%ecx
438aef:	57                   	push   %edi
438af0:	2b d8                	sub    %eax,%ebx
438af2:	53                   	push   %ebx
438af3:	56                   	push   %esi
438af4:	e8 87 01 00 00       	call   0x438c80
438af9:	5f                   	pop    %edi
438afa:	8b f0                	mov    %eax,%esi
438afc:	5e                   	pop    %esi
438afd:	5b                   	pop    %ebx
438afe:	5d                   	pop    %ebp
438aff:	c2 04 00             	ret    $0x4
438b02:	83 ff fe             	cmp    $0xfffffffe,%edi
438b05:	77 77                	ja     0x438b7e
438b07:	3b cf                	cmp    %edi,%ecx
438b09:	73 19                	jae    0x438b24
438b0b:	ff 76 10             	push   0x10(%esi)
438b0e:	8b ce                	mov    %esi,%ecx
438b10:	57                   	push   %edi
438b11:	e8 6a 07 00 00       	call   0x439280
438b16:	85 ff                	test   %edi,%edi
438b18:	74 5b                	je     0x438b75
438b1a:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438b1e:	72 2a                	jb     0x438b4a
438b20:	8b 06                	mov    (%esi),%eax
438b22:	eb 28                	jmp    0x438b4c
438b24:	85 ff                	test   %edi,%edi
438b26:	75 f2                	jne    0x438b1a
438b28:	89 7e 10             	mov    %edi,0x10(%esi)
438b2b:	83 f9 10             	cmp    $0x10,%ecx
438b2e:	72 0e                	jb     0x438b3e
438b30:	8b 06                	mov    (%esi),%eax
438b32:	5f                   	pop    %edi
438b33:	c6 00 00             	movb   $0x0,(%eax)
438b36:	8b c6                	mov    %esi,%eax
438b38:	5e                   	pop    %esi
438b39:	5b                   	pop    %ebx
438b3a:	5d                   	pop    %ebp
438b3b:	c2 04 00             	ret    $0x4
438b3e:	8b c6                	mov    %esi,%eax
438b40:	5f                   	pop    %edi
438b41:	5e                   	pop    %esi
438b42:	5b                   	pop    %ebx
438b43:	c6 00 00             	movb   $0x0,(%eax)
438b46:	5d                   	pop    %ebp
438b47:	c2 04 00             	ret    $0x4
438b4a:	8b c6                	mov    %esi,%eax
438b4c:	57                   	push   %edi
438b4d:	53                   	push   %ebx
438b4e:	50                   	push   %eax
438b4f:	e8 ac a3 1a 00       	call   0x5e2f00
438b54:	83 c4 0c             	add    $0xc,%esp
438b57:	89 7e 10             	mov    %edi,0x10(%esi)
438b5a:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438b5e:	72 0f                	jb     0x438b6f
438b60:	8b 06                	mov    (%esi),%eax
438b62:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438b66:	8b c6                	mov    %esi,%eax
438b68:	5f                   	pop    %edi
438b69:	5e                   	pop    %esi
438b6a:	5b                   	pop    %ebx
438b6b:	5d                   	pop    %ebp
438b6c:	c2 04 00             	ret    $0x4
438b6f:	8b c6                	mov    %esi,%eax
438b71:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438b75:	5f                   	pop    %edi
438b76:	8b c6                	mov    %esi,%eax
438b78:	5e                   	pop    %esi
438b79:	5b                   	pop    %ebx
438b7a:	5d                   	pop    %ebp
438b7b:	c2 04 00             	ret    $0x4
438b7e:	e8 4d 04 00 00       	call   0x438fd0
438b83:	cc                   	int3
438b84:	cc                   	int3
438b85:	cc                   	int3
438b86:	cc                   	int3
438b87:	cc                   	int3
438b88:	cc                   	int3
438b89:	cc                   	int3
438b8a:	cc                   	int3
438b8b:	cc                   	int3
438b8c:	cc                   	int3
438b8d:	cc                   	int3
438b8e:	cc                   	int3
438b8f:	cc                   	int3
438b90:	55                   	push   %ebp
438b91:	8b ec                	mov    %esp,%ebp
438b93:	53                   	push   %ebx
438b94:	8b 5d 08             	mov    0x8(%ebp),%ebx
438b97:	56                   	push   %esi
438b98:	8b f1                	mov    %ecx,%esi
438b9a:	85 db                	test   %ebx,%ebx
438b9c:	74 57                	je     0x438bf5
438b9e:	8b 4e 14             	mov    0x14(%esi),%ecx
438ba1:	83 f9 10             	cmp    $0x10,%ecx
438ba4:	72 04                	jb     0x438baa
438ba6:	8b 06                	mov    (%esi),%eax
438ba8:	eb 02                	jmp    0x438bac
438baa:	8b c6                	mov    %esi,%eax
438bac:	3b d8                	cmp    %eax,%ebx
438bae:	72 45                	jb     0x438bf5
438bb0:	83 f9 10             	cmp    $0x10,%ecx
438bb3:	72 04                	jb     0x438bb9
438bb5:	8b 16                	mov    (%esi),%edx
438bb7:	eb 02                	jmp    0x438bbb
438bb9:	8b d6                	mov    %esi,%edx
438bbb:	8b 46 10             	mov    0x10(%esi),%eax
438bbe:	03 c2                	add    %edx,%eax
438bc0:	3b c3                	cmp    %ebx,%eax
438bc2:	76 31                	jbe    0x438bf5
438bc4:	83 f9 10             	cmp    $0x10,%ecx
438bc7:	72 16                	jb     0x438bdf
438bc9:	ff 75 0c             	push   0xc(%ebp)
438bcc:	8b 06                	mov    (%esi),%eax
438bce:	8b ce                	mov    %esi,%ecx
438bd0:	2b d8                	sub    %eax,%ebx
438bd2:	53                   	push   %ebx
438bd3:	56                   	push   %esi
438bd4:	e8 a7 00 00 00       	call   0x438c80
438bd9:	5e                   	pop    %esi
438bda:	5b                   	pop    %ebx
438bdb:	5d                   	pop    %ebp
438bdc:	c2 08 00             	ret    $0x8
438bdf:	ff 75 0c             	push   0xc(%ebp)
438be2:	8b c6                	mov    %esi,%eax
438be4:	8b ce                	mov    %esi,%ecx
438be6:	2b d8                	sub    %eax,%ebx
438be8:	53                   	push   %ebx
438be9:	56                   	push   %esi
438bea:	e8 91 00 00 00       	call   0x438c80
438bef:	5e                   	pop    %esi
438bf0:	5b                   	pop    %ebx
438bf1:	5d                   	pop    %ebp
438bf2:	c2 08 00             	ret    $0x8
438bf5:	57                   	push   %edi
438bf6:	8b 7d 0c             	mov    0xc(%ebp),%edi
438bf9:	83 ff fe             	cmp    $0xfffffffe,%edi
438bfc:	77 7a                	ja     0x438c78
438bfe:	8b 46 14             	mov    0x14(%esi),%eax
438c01:	3b c7                	cmp    %edi,%eax
438c03:	73 19                	jae    0x438c1e
438c05:	ff 76 10             	push   0x10(%esi)
438c08:	8b ce                	mov    %esi,%ecx
438c0a:	57                   	push   %edi
438c0b:	e8 70 06 00 00       	call   0x439280
438c10:	85 ff                	test   %edi,%edi
438c12:	74 5b                	je     0x438c6f
438c14:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438c18:	72 2a                	jb     0x438c44
438c1a:	8b 06                	mov    (%esi),%eax
438c1c:	eb 28                	jmp    0x438c46
438c1e:	85 ff                	test   %edi,%edi
438c20:	75 f2                	jne    0x438c14
438c22:	89 7e 10             	mov    %edi,0x10(%esi)
438c25:	83 f8 10             	cmp    $0x10,%eax
438c28:	72 0e                	jb     0x438c38
438c2a:	8b 06                	mov    (%esi),%eax
438c2c:	5f                   	pop    %edi
438c2d:	c6 00 00             	movb   $0x0,(%eax)
438c30:	8b c6                	mov    %esi,%eax
438c32:	5e                   	pop    %esi
438c33:	5b                   	pop    %ebx
438c34:	5d                   	pop    %ebp
438c35:	c2 08 00             	ret    $0x8
438c38:	8b c6                	mov    %esi,%eax
438c3a:	5f                   	pop    %edi
438c3b:	5e                   	pop    %esi
438c3c:	5b                   	pop    %ebx
438c3d:	c6 00 00             	movb   $0x0,(%eax)
438c40:	5d                   	pop    %ebp
438c41:	c2 08 00             	ret    $0x8
438c44:	8b c6                	mov    %esi,%eax
438c46:	57                   	push   %edi
438c47:	53                   	push   %ebx
438c48:	50                   	push   %eax
438c49:	e8 b2 a2 1a 00       	call   0x5e2f00
438c4e:	83 c4 0c             	add    $0xc,%esp
438c51:	89 7e 10             	mov    %edi,0x10(%esi)
438c54:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438c58:	72 0f                	jb     0x438c69
438c5a:	8b 06                	mov    (%esi),%eax
438c5c:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438c60:	8b c6                	mov    %esi,%eax
438c62:	5f                   	pop    %edi
438c63:	5e                   	pop    %esi
438c64:	5b                   	pop    %ebx
438c65:	5d                   	pop    %ebp
438c66:	c2 08 00             	ret    $0x8
438c69:	8b c6                	mov    %esi,%eax
438c6b:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438c6f:	5f                   	pop    %edi
438c70:	8b c6                	mov    %esi,%eax
438c72:	5e                   	pop    %esi
438c73:	5b                   	pop    %ebx
438c74:	5d                   	pop    %ebp
438c75:	c2 08 00             	ret    $0x8
438c78:	e8 53 03 00 00       	call   0x438fd0
438c7d:	cc                   	int3
438c7e:	cc                   	int3
438c7f:	cc                   	int3
438c80:	55                   	push   %ebp
438c81:	8b ec                	mov    %esp,%ebp
438c83:	8b 45 08             	mov    0x8(%ebp),%eax
438c86:	53                   	push   %ebx
438c87:	8b 5d 0c             	mov    0xc(%ebp),%ebx
438c8a:	56                   	push   %esi
438c8b:	8b f1                	mov    %ecx,%esi
438c8d:	8b 48 10             	mov    0x10(%eax),%ecx
438c90:	57                   	push   %edi
438c91:	3b cb                	cmp    %ebx,%ecx
438c93:	0f 82 2d 01 00 00    	jb     0x438dc6
438c99:	8b 7d 10             	mov    0x10(%ebp),%edi
438c9c:	2b cb                	sub    %ebx,%ecx
438c9e:	3b f9                	cmp    %ecx,%edi
438ca0:	0f 47 f9             	cmova  %ecx,%edi
438ca3:	3b f0                	cmp    %eax,%esi
438ca5:	0f 85 8b 00 00 00    	jne    0x438d36
438cab:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
438cae:	39 46 10             	cmp    %eax,0x10(%esi)
438cb1:	0f 82 14 01 00 00    	jb     0x438dcb
438cb7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438cbb:	89 46 10             	mov    %eax,0x10(%esi)
438cbe:	72 04                	jb     0x438cc4
438cc0:	8b 0e                	mov    (%esi),%ecx
438cc2:	eb 02                	jmp    0x438cc6