8f48d6:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
8f48da:	75 31                	jne    0x8f490d
8f48dc:	6a 10                	push   $0x10
8f48de:	ff 77 18             	push   0x18(%edi)
8f48e1:	8d 47 14             	lea    0x14(%edi),%eax
8f48e4:	50                   	push   %eax
8f48e5:	e8 c2 e7 b1 ff       	call   0x4130ac
8f48ea:	8b 57 18             	mov    0x18(%edi),%edx
8f48ed:	83 c0 08             	add    $0x8,%eax
8f48f0:	8b ca                	mov    %edx,%ecx
8f48f2:	c1 e1 04             	shl    $0x4,%ecx
8f48f5:	83 c1 f0             	add    $0xfffffff0,%ecx
8f48f8:	03 c8                	add    %eax,%ecx
8f48fa:	eb 0c                	jmp    0x8f4908
8f48fc:	8b 47 10             	mov    0x10(%edi),%eax
8f48ff:	89 41 08             	mov    %eax,0x8(%ecx)
8f4902:	89 4f 10             	mov    %ecx,0x10(%edi)
8f4905:	83 e9 10             	sub    $0x10,%ecx
8f4908:	83 ea 01             	sub    $0x1,%edx
8f490b:	79 ef                	jns    0x8f48fc
8f490d:	8b 5f 10             	mov    0x10(%edi),%ebx
8f4910:	85 db                	test   %ebx,%ebx
8f4912:	74 34                	je     0x8f4948
8f4914:	8b 73 08             	mov    0x8(%ebx),%esi
8f4917:	6a 10                	push   $0x10
8f4919:	6a 00                	push   $0x0
8f491b:	53                   	push   %ebx
8f491c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8f491f:	e8 94 fe b1 ff       	call   0x4147b8
8f4924:	89 73 08             	mov    %esi,0x8(%ebx)
8f4927:	83 c4 0c             	add    $0xc,%esp
8f492a:	8b 4f 10             	mov    0x10(%edi),%ecx
8f492d:	8b c3                	mov    %ebx,%eax
8f492f:	8b 49 08             	mov    0x8(%ecx),%ecx
8f4932:	ff 47 0c             	incl   0xc(%edi)
8f4935:	89 4f 10             	mov    %ecx,0x10(%edi)
8f4938:	8b 4d 08             	mov    0x8(%ebp),%ecx
8f493b:	5f                   	pop    %edi
8f493c:	5e                   	pop    %esi
8f493d:	8b 09                	mov    (%ecx),%ecx
8f493f:	89 0b                	mov    %ecx,(%ebx)
8f4941:	5b                   	pop    %ebx
8f4942:	8b e5                	mov    %ebp,%esp
8f4944:	5d                   	pop    %ebp
8f4945:	c2 04 00             	ret    $0x4
8f4948:	e8 19 d6 b3 ff       	call   0x431f66
8f494d:	cc                   	int3
8f494e:	cc                   	int3
8f494f:	cc                   	int3
8f4950:	cc                   	int3
8f4951:	cc                   	int3
8f4952:	cc                   	int3
8f4953:	cc                   	int3
8f4954:	cc                   	int3
8f4955:	cc                   	int3
8f4956:	cc                   	int3
8f4957:	cc                   	int3
8f4958:	cc                   	int3
8f4959:	cc                   	int3
8f495a:	cc                   	int3
8f495b:	cc                   	int3
8f495c:	cc                   	int3
8f495d:	cc                   	int3
8f495e:	cc                   	int3
8f495f:	cc                   	int3
8f4960:	cc                   	int3
8f4961:	cc                   	int3
8f4962:	cc                   	int3
8f4963:	cc                   	int3
8f4964:	cc                   	int3
8f4965:	cc                   	int3
8f4966:	cc                   	int3
8f4967:	cc                   	int3
8f4968:	cc                   	int3
8f4969:	cc                   	int3
8f496a:	cc                   	int3
8f496b:	cc                   	int3
8f496c:	cc                   	int3
8f496d:	cc                   	int3
8f496e:	55                   	push   %ebp
8f496f:	8b ec                	mov    %esp,%ebp
8f4971:	51                   	push   %ecx
8f4972:	53                   	push   %ebx
8f4973:	56                   	push   %esi
8f4974:	8b f1                	mov    %ecx,%esi
8f4976:	33 db                	xor    %ebx,%ebx
8f4978:	8b 4e 04             	mov    0x4(%esi),%ecx
8f497b:	85 c9                	test   %ecx,%ecx
8f497d:	74 1d                	je     0x8f499c
8f497f:	8b 56 08             	mov    0x8(%esi),%edx
8f4982:	85 d2                	test   %edx,%edx
8f4984:	74 0c                	je     0x8f4992
8f4986:	57                   	push   %edi
8f4987:	8b f9                	mov    %ecx,%edi
8f4989:	8d 7f 04             	lea    0x4(%edi),%edi
8f498c:	83 ea 01             	sub    $0x1,%edx
8f498f:	75 f8                	jne    0x8f4989
8f4991:	5f                   	pop    %edi
8f4992:	51                   	push   %ecx
8f4993:	e8 7a 9c b4 ff       	call   0x43e612
8f4998:	59                   	pop    %ecx
8f4999:	89 5e 04             	mov    %ebx,0x4(%esi)
8f499c:	8b 4e 14             	mov    0x14(%esi),%ecx
8f499f:	89 5e 0c             	mov    %ebx,0xc(%esi)
8f49a2:	89 5e 10             	mov    %ebx,0x10(%esi)
8f49a5:	e8 c1 5a b1 ff       	call   0x40a46b
8f49aa:	89 5e 14             	mov    %ebx,0x14(%esi)
8f49ad:	5e                   	pop    %esi
8f49ae:	5b                   	pop    %ebx
8f49af:	8b e5                	mov    %ebp,%esp
8f49b1:	5d                   	pop    %ebp
8f49b2:	c3                   	ret
8f49b3:	cc                   	int3
8f49b4:	cc                   	int3
8f49b5:	cc                   	int3
8f49b6:	cc                   	int3
8f49b7:	cc                   	int3
8f49b8:	cc                   	int3
8f49b9:	cc                   	int3
8f49ba:	cc                   	int3
8f49bb:	cc                   	int3
8f49bc:	cc                   	int3
8f49bd:	cc                   	int3
8f49be:	cc                   	int3
8f49bf:	cc                   	int3
8f49c0:	cc                   	int3
8f49c1:	cc                   	int3
8f49c2:	cc                   	int3
8f49c3:	cc                   	int3
8f49c4:	55                   	push   %ebp
8f49c5:	8b ec                	mov    %esp,%ebp
8f49c7:	51                   	push   %ecx
8f49c8:	57                   	push   %edi
8f49c9:	8b f9                	mov    %ecx,%edi
8f49cb:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
8f49cf:	75 04                	jne    0x8f49d5
8f49d1:	33 c0                	xor    %eax,%eax
8f49d3:	eb 43                	jmp    0x8f4a18
8f49d5:	53                   	push   %ebx
8f49d6:	56                   	push   %esi
8f49d7:	ff 75 08             	push   0x8(%ebp)
8f49da:	e8 31 64 b2 ff       	call   0x41ae10
8f49df:	33 d2                	xor    %edx,%edx
8f49e1:	89 45 fc             	mov    %eax,-0x4(%ebp)
8f49e4:	f7 77 08             	divl   0x8(%edi)
8f49e7:	8b 4f 04             	mov    0x4(%edi),%ecx
8f49ea:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
8f49ed:	8b 33                	mov    (%ebx),%esi
8f49ef:	85 f6                	test   %esi,%esi
8f49f1:	74 21                	je     0x8f4a14
8f49f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
8f49f6:	39 46 0c             	cmp    %eax,0xc(%esi)
8f49f9:	75 10                	jne    0x8f4a0b
8f49fb:	ff 75 08             	push   0x8(%ebp)
8f49fe:	56                   	push   %esi
8f49ff:	e8 5e 09 b1 ff       	call   0x405362
8f4a04:	85 c0                	test   %eax,%eax
8f4a06:	75 17                	jne    0x8f4a1f
8f4a08:	8b 45 fc             	mov    -0x4(%ebp),%eax
8f4a0b:	8d 5e 08             	lea    0x8(%esi),%ebx
8f4a0e:	8b 33                	mov    (%ebx),%esi
8f4a10:	85 f6                	test   %esi,%esi
8f4a12:	75 e2                	jne    0x8f49f6
8f4a14:	33 c0                	xor    %eax,%eax
8f4a16:	5e                   	pop    %esi
8f4a17:	5b                   	pop    %ebx
8f4a18:	5f                   	pop    %edi
8f4a19:	8b e5                	mov    %ebp,%esp
8f4a1b:	5d                   	pop    %ebp
8f4a1c:	c2 04 00             	ret    $0x4
8f4a1f:	8b 46 08             	mov    0x8(%esi),%eax
8f4a22:	8b cf                	mov    %edi,%ecx
8f4a24:	56                   	push   %esi
8f4a25:	89 03                	mov    %eax,(%ebx)
8f4a27:	e8 e1 64 b4 ff       	call   0x43af0d
8f4a2c:	33 c0                	xor    %eax,%eax
8f4a2e:	40                   	inc    %eax
8f4a2f:	eb e5                	jmp    0x8f4a16
8f4a31:	cc                   	int3
8f4a32:	cc                   	int3
8f4a33:	cc                   	int3
8f4a34:	cc                   	int3
8f4a35:	cc                   	int3
8f4a36:	cc                   	int3
8f4a37:	cc                   	int3
8f4a38:	cc                   	int3
8f4a39:	cc                   	int3
8f4a3a:	cc                   	int3
8f4a3b:	cc                   	int3
8f4a3c:	cc                   	int3
8f4a3d:	cc                   	int3
8f4a3e:	cc                   	int3
8f4a3f:	cc                   	int3
8f4a40:	cc                   	int3
8f4a41:	cc                   	int3
8f4a42:	cc                   	int3
8f4a43:	cc                   	int3
8f4a44:	cc                   	int3
8f4a45:	cc                   	int3
8f4a46:	cc                   	int3
8f4a47:	cc                   	int3
8f4a48:	cc                   	int3
8f4a49:	cc                   	int3
8f4a4a:	cc                   	int3
8f4a4b:	cc                   	int3
8f4a4c:	55                   	push   %ebp
8f4a4d:	8b ec                	mov    %esp,%ebp
8f4a4f:	51                   	push   %ecx
8f4a50:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8f4a54:	8d 45 fc             	lea    -0x4(%ebp),%eax
8f4a57:	56                   	push   %esi
8f4a58:	50                   	push   %eax
8f4a59:	8d 71 04             	lea    0x4(%ecx),%esi
8f4a5c:	8d 45 08             	lea    0x8(%ebp),%eax
8f4a5f:	8b ce                	mov    %esi,%ecx
8f4a61:	50                   	push   %eax
8f4a62:	e8 68 a9 b2 ff       	call   0x41f3cf
8f4a67:	85 c0                	test   %eax,%eax
8f4a69:	74 19                	je     0x8f4a84
8f4a6b:	ff 75 fc             	push   -0x4(%ebp)
8f4a6e:	ff 15 84 36 d8 00    	call   *0xd83684
8f4a74:	8d 45 08             	lea    0x8(%ebp),%eax
8f4a77:	8b ce                	mov    %esi,%ecx
8f4a79:	50                   	push   %eax
8f4a7a:	e8 c1 5e b4 ff       	call   0x43a940
8f4a7f:	33 c0                	xor    %eax,%eax
8f4a81:	40                   	inc    %eax
8f4a82:	eb 02                	jmp    0x8f4a86
8f4a84:	33 c0                	xor    %eax,%eax
8f4a86:	5e                   	pop    %esi
8f4a87:	8b e5                	mov    %ebp,%esp
8f4a89:	5d                   	pop    %ebp
8f4a8a:	c2 04 00             	ret    $0x4
8f4a8d:	cc                   	int3
8f4a8e:	cc                   	int3
8f4a8f:	cc                   	int3
8f4a90:	cc                   	int3
8f4a91:	cc                   	int3
8f4a92:	cc                   	int3
8f4a93:	cc                   	int3
8f4a94:	cc                   	int3
8f4a95:	cc                   	int3
8f4a96:	cc                   	int3
8f4a97:	cc                   	int3
8f4a98:	cc                   	int3
8f4a99:	cc                   	int3
8f4a9a:	cc                   	int3
8f4a9b:	cc                   	int3
8f4a9c:	cc                   	int3
8f4a9d:	68 80 00 00 00       	push   $0x80
8f4aa2:	b8 a8 55 ba 00       	mov    $0xba55a8,%eax
8f4aa7:	e8 40 28 b2 ff       	call   0x4172ec
8f4aac:	8b d9                	mov    %ecx,%ebx
8f4aae:	89 5d e0             	mov    %ebx,-0x20(%ebp)
8f4ab1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8f4ab4:	e8 20 da b3 ff       	call   0x4324d9
8f4ab9:	85 c0                	test   %eax,%eax
8f4abb:	0f 84 92 01 00 00    	je     0x8f4c53
8f4ac1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
8f4ac4:	33 ff                	xor    %edi,%edi
8f4ac6:	51                   	push   %ecx
8f4ac7:	8d 43 04             	lea    0x4(%ebx),%eax
8f4aca:	89 7d e4             	mov    %edi,-0x1c(%ebp)
8f4acd:	8d 4d 08             	lea    0x8(%ebp),%ecx
8f4ad0:	89 45 dc             	mov    %eax,-0x24(%ebp)
8f4ad3:	51                   	push   %ecx
8f4ad4:	8b c8                	mov    %eax,%ecx
8f4ad6:	e8 f4 a8 b2 ff       	call   0x41f3cf
8f4adb:	85 c0                	test   %eax,%eax
8f4add:	74 09                	je     0x8f4ae8
8f4adf:	ff 75 e4             	push   -0x1c(%ebp)
8f4ae2:	ff 15 84 36 d8 00    	call   *0xd83684
8f4ae8:	e8 28 1b b4 ff       	call   0x436615
8f4aed:	50                   	push   %eax
8f4aee:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f4af1:	e8 1e 51 b1 ff       	call   0x409c14
8f4af6:	be 04 01 00 00       	mov    $0x104,%esi
8f4afb:	89 7d fc             	mov    %edi,-0x4(%ebp)
8f4afe:	56                   	push   %esi
8f4aff:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f4b02:	e8 8b 9a b2 ff       	call   0x41e592
8f4b07:	50                   	push   %eax
8f4b08:	56                   	push   %esi
8f4b09:	ff 15 74 36 d8 00    	call   *0xd83674
8f4b0f:	6a ff                	push   $0xffffffff
8f4b11:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8f4b14:	e8 13 18 b4 ff       	call   0x43632c
8f4b19:	e8 f7 1a b4 ff       	call   0x436615
8f4b1e:	50                   	push   %eax
8f4b1f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8f4b22:	e8 ed 50 b1 ff       	call   0x409c14
8f4b27:	56                   	push   %esi
8f4b28:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8f4b2b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
8f4b2f:	e8 5e 9a b2 ff       	call   0x41e592
8f4b34:	8b 75 e8             	mov    -0x18(%ebp),%esi
8f4b37:	50                   	push   %eax
8f4b38:	57                   	push   %edi
8f4b39:	68 b0 cc c4 00       	push   $0xc4ccb0
8f4b3e:	56                   	push   %esi
8f4b3f:	ff 15 70 36 d8 00    	call   *0xd83670
8f4b45:	6a ff                	push   $0xffffffff
8f4b47:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8f4b4a:	e8 dd 17 b4 ff       	call   0x43632c
8f4b4f:	57                   	push   %edi
8f4b50:	68 00 01 00 04       	push   $0x4000100
8f4b55:	6a 02                	push   $0x2
8f4b57:	57                   	push   %edi
8f4b58:	57                   	push   %edi
8f4b59:	8b 7d ec             	mov    -0x14(%ebp),%edi
8f4b5c:	68 00 00 00 c0       	push   $0xc0000000
8f4b61:	57                   	push   %edi
8f4b62:	ff 15 5c 36 d8 00    	call   *0xd8365c
8f4b68:	89 45 e4             	mov    %eax,-0x1c(%ebp)
8f4b6b:	83 f8 ff             	cmp    $0xffffffff,%eax
8f4b6e:	75 10                	jne    0x8f4b80
8f4b70:	8d 4f f0             	lea    -0x10(%edi),%ecx
8f4b73:	e8 9c 00 b1 ff       	call   0x404c14
8f4b78:	8d 4e f0             	lea    -0x10(%esi),%ecx
8f4b7b:	e9 ce 00 00 00       	jmp    0x8f4c4e
8f4b80:	50                   	push   %eax
8f4b81:	8d 4d bc             	lea    -0x44(%ebp),%ecx
8f4b84:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
8f4b88:	e8 43 02 b2 ff       	call   0x414dd0
8f4b8d:	6a 00                	push   $0x0
8f4b8f:	68 00 10 00 00       	push   $0x1000
8f4b94:	6a 00                	push   $0x0
8f4b96:	8d 45 bc             	lea    -0x44(%ebp),%eax
8f4b99:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
8f4b9d:	50                   	push   %eax
8f4b9e:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
8f4ba4:	e8 6e c5 b1 ff       	call   0x411117
8f4ba9:	8b 45 0c             	mov    0xc(%ebp),%eax
8f4bac:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
8f4bb2:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
8f4bb9:	51                   	push   %ecx
8f4bba:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
8f4bbe:	8b 00                	mov    (%eax),%eax
8f4bc0:	8b 58 08             	mov    0x8(%eax),%ebx
8f4bc3:	8b cb                	mov    %ebx,%ecx
8f4bc5:	e8 9b 7a b3 ff       	call   0x42c665
8f4bca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8f4bcd:	ff d3                	call   *%ebx
8f4bcf:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
8f4bd5:	e8 3a a7 b4 ff       	call   0x43f314
8f4bda:	8b 45 e0             	mov    -0x20(%ebp),%eax
8f4bdd:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
8f4be3:	83 60 20 00          	andl   $0x0,0x20(%eax)
8f4be7:	e8 94 10 b2 ff       	call   0x415c80
8f4bec:	8d 4d bc             	lea    -0x44(%ebp),%ecx