438874:	eb 2c                	jmp    0x4388a2
438876:	85 ff                	test   %edi,%edi
438878:	75 f2                	jne    0x43886c
43887a:	89 7e 10             	mov    %edi,0x10(%esi)
43887d:	83 f8 08             	cmp    $0x8,%eax
438880:	72 10                	jb     0x438892
438882:	8b 06                	mov    (%esi),%eax
438884:	33 c9                	xor    %ecx,%ecx
438886:	5f                   	pop    %edi
438887:	66 89 08             	mov    %cx,(%eax)
43888a:	8b c6                	mov    %esi,%eax
43888c:	5e                   	pop    %esi
43888d:	5b                   	pop    %ebx
43888e:	5d                   	pop    %ebp
43888f:	c2 08 00             	ret    $0x8
438892:	8b c6                	mov    %esi,%eax
438894:	33 c9                	xor    %ecx,%ecx
438896:	5f                   	pop    %edi
438897:	5e                   	pop    %esi
438898:	5b                   	pop    %ebx
438899:	66 89 08             	mov    %cx,(%eax)
43889c:	5d                   	pop    %ebp
43889d:	c2 08 00             	ret    $0x8
4388a0:	8b ce                	mov    %esi,%ecx
4388a2:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4388a5:	50                   	push   %eax
4388a6:	53                   	push   %ebx
4388a7:	51                   	push   %ecx
4388a8:	e8 53 a6 1a 00       	call   0x5e2f00
4388ad:	83 c4 0c             	add    $0xc,%esp
4388b0:	89 7e 10             	mov    %edi,0x10(%esi)
4388b3:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4388b7:	72 11                	jb     0x4388ca
4388b9:	8b 06                	mov    (%esi),%eax
4388bb:	33 c9                	xor    %ecx,%ecx
4388bd:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
4388c1:	8b c6                	mov    %esi,%eax
4388c3:	5f                   	pop    %edi
4388c4:	5e                   	pop    %esi
4388c5:	5b                   	pop    %ebx
4388c6:	5d                   	pop    %ebp
4388c7:	c2 08 00             	ret    $0x8
4388ca:	8b c6                	mov    %esi,%eax
4388cc:	33 c9                	xor    %ecx,%ecx
4388ce:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
4388d2:	5f                   	pop    %edi
4388d3:	8b c6                	mov    %esi,%eax
4388d5:	5e                   	pop    %esi
4388d6:	5b                   	pop    %ebx
4388d7:	5d                   	pop    %ebp
4388d8:	c2 08 00             	ret    $0x8
4388db:	e8 f0 06 00 00       	call   0x438fd0
4388e0:	cc                   	int3
4388e1:	cc                   	int3
4388e2:	cc                   	int3
4388e3:	cc                   	int3
4388e4:	cc                   	int3
4388e5:	cc                   	int3
4388e6:	cc                   	int3
4388e7:	cc                   	int3
4388e8:	cc                   	int3
4388e9:	cc                   	int3
4388ea:	cc                   	int3
4388eb:	cc                   	int3
4388ec:	cc                   	int3
4388ed:	cc                   	int3
4388ee:	cc                   	int3
4388ef:	cc                   	int3
4388f0:	55                   	push   %ebp
4388f1:	8b ec                	mov    %esp,%ebp
4388f3:	53                   	push   %ebx
4388f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4388f7:	56                   	push   %esi
4388f8:	8b f1                	mov    %ecx,%esi
4388fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4388fd:	57                   	push   %edi
4388fe:	8b 43 10             	mov    0x10(%ebx),%eax
438901:	3b c1                	cmp    %ecx,%eax
438903:	0f 82 e0 00 00 00    	jb     0x4389e9
438909:	8b 7d 10             	mov    0x10(%ebp),%edi
43890c:	2b c1                	sub    %ecx,%eax
43890e:	3b f8                	cmp    %eax,%edi
438910:	0f 47 f8             	cmova  %eax,%edi
438913:	3b f3                	cmp    %ebx,%esi
438915:	75 33                	jne    0x43894a
438917:	8d 04 39             	lea    (%ecx,%edi,1),%eax
43891a:	39 46 10             	cmp    %eax,0x10(%esi)
43891d:	0f 82 cb 00 00 00    	jb     0x4389ee
438923:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
438927:	89 46 10             	mov    %eax,0x10(%esi)
43892a:	72 04                	jb     0x438930
43892c:	8b 16                	mov    (%esi),%edx
43892e:	eb 02                	jmp    0x438932
438930:	8b d6                	mov    %esi,%edx
438932:	33 ff                	xor    %edi,%edi
438934:	51                   	push   %ecx
438935:	57                   	push   %edi
438936:	8b ce                	mov    %esi,%ecx
438938:	66 89 3c 42          	mov    %di,(%edx,%eax,2)
43893c:	e8 af 05 00 00       	call   0x438ef0
438941:	5f                   	pop    %edi
438942:	8b c6                	mov    %esi,%eax
438944:	5e                   	pop    %esi
438945:	5b                   	pop    %ebx
438946:	5d                   	pop    %ebp
438947:	c2 0c 00             	ret    $0xc
43894a:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
438950:	0f 87 9d 00 00 00    	ja     0x4389f3
438956:	8b 46 14             	mov    0x14(%esi),%eax
438959:	3b c7                	cmp    %edi,%eax
43895b:	73 24                	jae    0x438981
43895d:	ff 76 10             	push   0x10(%esi)
438960:	8b ce                	mov    %esi,%ecx
438962:	57                   	push   %edi
438963:	e8 78 07 00 00       	call   0x4390e0
438968:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43896b:	85 ff                	test   %edi,%edi
43896d:	74 71                	je     0x4389e0
43896f:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
438973:	72 02                	jb     0x438977
438975:	8b 1b                	mov    (%ebx),%ebx
438977:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43897b:	72 2e                	jb     0x4389ab
43897d:	8b 16                	mov    (%esi),%edx
43897f:	eb 2c                	jmp    0x4389ad
438981:	85 ff                	test   %edi,%edi
438983:	75 ea                	jne    0x43896f
438985:	89 7e 10             	mov    %edi,0x10(%esi)
438988:	83 f8 08             	cmp    $0x8,%eax
43898b:	72 10                	jb     0x43899d
43898d:	8b 06                	mov    (%esi),%eax
43898f:	33 c9                	xor    %ecx,%ecx
438991:	5f                   	pop    %edi
438992:	66 89 08             	mov    %cx,(%eax)
438995:	8b c6                	mov    %esi,%eax
438997:	5e                   	pop    %esi
438998:	5b                   	pop    %ebx
438999:	5d                   	pop    %ebp
43899a:	c2 0c 00             	ret    $0xc
43899d:	8b c6                	mov    %esi,%eax
43899f:	33 c9                	xor    %ecx,%ecx
4389a1:	5f                   	pop    %edi
4389a2:	5e                   	pop    %esi
4389a3:	5b                   	pop    %ebx
4389a4:	66 89 08             	mov    %cx,(%eax)
4389a7:	5d                   	pop    %ebp
4389a8:	c2 0c 00             	ret    $0xc
4389ab:	8b d6                	mov    %esi,%edx
4389ad:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4389b0:	50                   	push   %eax
4389b1:	8d 04 4b             	lea    (%ebx,%ecx,2),%eax
4389b4:	50                   	push   %eax
4389b5:	52                   	push   %edx
4389b6:	e8 45 a5 1a 00       	call   0x5e2f00
4389bb:	83 c4 0c             	add    $0xc,%esp
4389be:	89 7e 10             	mov    %edi,0x10(%esi)
4389c1:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4389c5:	72 11                	jb     0x4389d8
4389c7:	8b 06                	mov    (%esi),%eax
4389c9:	33 c9                	xor    %ecx,%ecx
4389cb:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
4389cf:	8b c6                	mov    %esi,%eax
4389d1:	5f                   	pop    %edi
4389d2:	5e                   	pop    %esi
4389d3:	5b                   	pop    %ebx
4389d4:	5d                   	pop    %ebp
4389d5:	c2 0c 00             	ret    $0xc
4389d8:	8b c6                	mov    %esi,%eax
4389da:	33 c9                	xor    %ecx,%ecx
4389dc:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
4389e0:	5f                   	pop    %edi
4389e1:	8b c6                	mov    %esi,%eax
4389e3:	5e                   	pop    %esi
4389e4:	5b                   	pop    %ebx
4389e5:	5d                   	pop    %ebp
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