4818a3:	8b 48 04             	mov    0x4(%eax),%ecx
4818a6:	03 cb                	add    %ebx,%ecx
4818a8:	e8 f6 51 fd ff       	call   0x456aa3
4818ad:	5f                   	pop    %edi
4818ae:	5e                   	pop    %esi
4818af:	33 c0                	xor    %eax,%eax
4818b1:	5b                   	pop    %ebx
4818b2:	8b e5                	mov    %ebp,%esp
4818b4:	5d                   	pop    %ebp
4818b5:	c2 14 00             	ret    $0x14
4818b8:	55                   	push   %ebp
4818b9:	8b ec                	mov    %esp,%ebp
4818bb:	56                   	push   %esi
4818bc:	57                   	push   %edi
4818bd:	8b 7d 08             	mov    0x8(%ebp),%edi
4818c0:	8b f1                	mov    %ecx,%esi
4818c2:	8b 0f                	mov    (%edi),%ecx
4818c4:	8b 51 08             	mov    0x8(%ecx),%edx
4818c7:	8b 41 04             	mov    0x4(%ecx),%eax
4818ca:	85 d2                	test   %edx,%edx
4818cc:	74 03                	je     0x4818d1
4818ce:	89 42 04             	mov    %eax,0x4(%edx)
4818d1:	85 c0                	test   %eax,%eax
4818d3:	74 03                	je     0x4818d8
4818d5:	89 50 08             	mov    %edx,0x8(%eax)
4818d8:	3b 0e                	cmp    (%esi),%ecx
4818da:	75 02                	jne    0x4818de
4818dc:	89 06                	mov    %eax,(%esi)
4818de:	3b 4e 04             	cmp    0x4(%esi),%ecx
4818e1:	75 03                	jne    0x4818e6
4818e3:	89 56 04             	mov    %edx,0x4(%esi)
4818e6:	51                   	push   %ecx
4818e7:	e8 7c 85 fe ff       	call   0x469e68
4818ec:	83 27 00             	andl   $0x0,(%edi)
4818ef:	ff 4e 08             	decl   0x8(%esi)
4818f2:	5f                   	pop    %edi
4818f3:	5e                   	pop    %esi
4818f4:	5d                   	pop    %ebp
4818f5:	c2 04 00             	ret    $0x4
4818f8:	55                   	push   %ebp
4818f9:	8b ec                	mov    %esp,%ebp
4818fb:	56                   	push   %esi
4818fc:	8b f1                	mov    %ecx,%esi
4818fe:	e8 b0 f1 f9 ff       	call   0x420ab3
481903:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
481907:	74 07                	je     0x481910
481909:	56                   	push   %esi
48190a:	e8 5d f7 f9 ff       	call   0x42106c
48190f:	59                   	pop    %ecx
481910:	8b c6                	mov    %esi,%eax
481912:	5e                   	pop    %esi
481913:	5d                   	pop    %ebp
481914:	c2 04 00             	ret    $0x4
481917:	55                   	push   %ebp
481918:	8b ec                	mov    %esp,%ebp
48191a:	56                   	push   %esi
48191b:	8b 75 08             	mov    0x8(%ebp),%esi
48191e:	57                   	push   %edi
48191f:	8b 4e 04             	mov    0x4(%esi),%ecx
481922:	8b 09                	mov    (%ecx),%ecx
481924:	e8 76 70 fe ff       	call   0x46899f
481929:	8b 4e 04             	mov    0x4(%esi),%ecx
48192c:	8b 09                	mov    (%ecx),%ecx
48192e:	e8 af 70 fe ff       	call   0x4689e2
481933:	8b 75 0c             	mov    0xc(%ebp),%esi
481936:	8b f8                	mov    %eax,%edi
481938:	8b ce                	mov    %esi,%ecx
48193a:	e8 e1 80 f8 ff       	call   0x409a20
48193f:	89 3e                	mov    %edi,(%esi)
481941:	33 c0                	xor    %eax,%eax
481943:	5f                   	pop    %edi
481944:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
48194b:	5e                   	pop    %esi
48194c:	5d                   	pop    %ebp
48194d:	c2 08 00             	ret    $0x8
481950:	55                   	push   %ebp
481951:	8b ec                	mov    %esp,%ebp
481953:	51                   	push   %ecx
481954:	53                   	push   %ebx
481955:	56                   	push   %esi
481956:	8b 75 08             	mov    0x8(%ebp),%esi
481959:	57                   	push   %edi
48195a:	8b 46 04             	mov    0x4(%esi),%eax
48195d:	8b 08                	mov    (%eax),%ecx
48195f:	e8 3b 70 fe ff       	call   0x46899f
481964:	8b 56 04             	mov    0x4(%esi),%edx
481967:	89 45 fc             	mov    %eax,-0x4(%ebp)
48196a:	8b 0a                	mov    (%edx),%ecx
48196c:	e8 71 70 fe ff       	call   0x4689e2
481971:	8b 4a 04             	mov    0x4(%edx),%ecx
481974:	8b d8                	mov    %eax,%ebx
481976:	83 ce ff             	or     $0xffffffff,%esi
481979:	e8 1e 83 f8 ff       	call   0x409c9c
48197e:	8d 78 ff             	lea    -0x1(%eax),%edi
481981:	8b 45 08             	mov    0x8(%ebp),%eax
481984:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
481988:	76 0d                	jbe    0x481997
48198a:	8b 48 04             	mov    0x4(%eax),%ecx
48198d:	8b 49 08             	mov    0x8(%ecx),%ecx
481990:	e8 07 83 f8 ff       	call   0x409c9c
481995:	8b f0                	mov    %eax,%esi
481997:	3b fb                	cmp    %ebx,%edi
481999:	7f 04                	jg     0x48199f
48199b:	85 ff                	test   %edi,%edi
48199d:	79 02                	jns    0x4819a1
48199f:	8b fb                	mov    %ebx,%edi
4819a1:	85 f6                	test   %esi,%esi
4819a3:	78 08                	js     0x4819ad
4819a5:	8b c3                	mov    %ebx,%eax
4819a7:	2b c7                	sub    %edi,%eax
4819a9:	3b f0                	cmp    %eax,%esi
4819ab:	7e 04                	jle    0x4819b1
4819ad:	8b f3                	mov    %ebx,%esi
4819af:	2b f7                	sub    %edi,%esi
4819b1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4819b4:	56                   	push   %esi
4819b5:	e8 94 5f fe ff       	call   0x46794e
4819ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4819bd:	56                   	push   %esi
4819be:	03 cf                	add    %edi,%ecx
4819c0:	51                   	push   %ecx
4819c1:	50                   	push   %eax
4819c2:	e8 b9 f6 f9 ff       	call   0x421080
4819c7:	83 c4 0c             	add    $0xc,%esp
4819ca:	33 c0                	xor    %eax,%eax
4819cc:	5f                   	pop    %edi
4819cd:	5e                   	pop    %esi
4819ce:	5b                   	pop    %ebx
4819cf:	8b e5                	mov    %ebp,%esp
4819d1:	5d                   	pop    %ebp
4819d2:	c2 08 00             	ret    $0x8
4819d5:	55                   	push   %ebp
4819d6:	8b ec                	mov    %esp,%ebp
4819d8:	83 e4 f8             	and    $0xfffffff8,%esp
4819db:	83 ec 24             	sub    $0x24,%esp
4819de:	8b 45 08             	mov    0x8(%ebp),%eax
4819e1:	53                   	push   %ebx
4819e2:	56                   	push   %esi
4819e3:	8b f1                	mov    %ecx,%esi
4819e5:	8b 40 04             	mov    0x4(%eax),%eax
4819e8:	57                   	push   %edi
4819e9:	89 74 24 0c          	mov    %esi,0xc(%esp)
4819ed:	8b 08                	mov    (%eax),%ecx
4819ef:	e8 ab 6f fe ff       	call   0x46899f
4819f4:	8b 55 08             	mov    0x8(%ebp),%edx
4819f7:	8b d8                	mov    %eax,%ebx
4819f9:	8b 42 04             	mov    0x4(%edx),%eax
4819fc:	8b 08                	mov    (%eax),%ecx
4819fe:	e8 df 6f fe ff       	call   0x4689e2
481a03:	8b f8                	mov    %eax,%edi
481a05:	85 ff                	test   %edi,%edi
481a07:	75 21                	jne    0x481a2a
481a09:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481a0c:	68 10 f9 48 00       	push   $0x48f910
481a11:	e8 e2 81 f8 ff       	call   0x409bf8
481a16:	8b 06                	mov    (%esi),%eax
481a18:	57                   	push   %edi
481a19:	6a 01                	push   $0x1
481a1b:	8b 48 04             	mov    0x4(%eax),%ecx
481a1e:	03 ce                	add    %esi,%ecx
481a20:	e8 7e 50 fd ff       	call   0x456aa3
481a25:	e9 6c 01 00 00       	jmp    0x481b96
481a2a:	6a 02                	push   $0x2
481a2c:	59                   	pop    %ecx
481a2d:	39 4a 08             	cmp    %ecx,0x8(%edx)
481a30:	72 12                	jb     0x481a44
481a32:	8b 4a 04             	mov    0x4(%edx),%ecx
481a35:	8b 49 04             	mov    0x4(%ecx),%ecx
481a38:	e8 5f 82 f8 ff       	call   0x409c9c
481a3d:	6a 02                	push   $0x2
481a3f:	8b f0                	mov    %eax,%esi
481a41:	59                   	pop    %ecx
481a42:	eb 03                	jmp    0x481a47
481a44:	33 f6                	xor    %esi,%esi
481a46:	46                   	inc    %esi
481a47:	83 fe 01             	cmp    $0x1,%esi
481a4a:	7c 05                	jl     0x481a51
481a4c:	83 fe 04             	cmp    $0x4,%esi
481a4f:	7e 03                	jle    0x481a54
481a51:	33 f6                	xor    %esi,%esi
481a53:	46                   	inc    %esi
481a54:	3b f1                	cmp    %ecx,%esi
481a56:	74 05                	je     0x481a5d
481a58:	83 fe 03             	cmp    $0x3,%esi
481a5b:	75 27                	jne    0x481a84
481a5d:	8b c7                	mov    %edi,%eax
481a5f:	99                   	cltd
481a60:	f7 f9                	idiv   %ecx
481a62:	85 d2                	test   %edx,%edx
481a64:	74 1e                	je     0x481a84
481a66:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481a69:	68 10 f9 48 00       	push   $0x48f910
481a6e:	e8 85 81 f8 ff       	call   0x409bf8
481a73:	8b 54 24 0c          	mov    0xc(%esp),%edx
481a77:	6a 00                	push   $0x0
481a79:	6a 02                	push   $0x2
481a7b:	8b 02                	mov    (%edx),%eax
481a7d:	8b 48 04             	mov    0x4(%eax),%ecx
481a80:	03 ca                	add    %edx,%ecx
481a82:	eb 9c                	jmp    0x481a20
481a84:	83 fe 01             	cmp    $0x1,%esi
481a87:	0f 84 af 00 00 00    	je     0x481b3c
481a8d:	83 fe 04             	cmp    $0x4,%esi
481a90:	0f 84 a6 00 00 00    	je     0x481b3c
481a96:	3b f1                	cmp    %ecx,%esi
481a98:	75 3b                	jne    0x481ad5
481a9a:	8b c7                	mov    %edi,%eax
481a9c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481aa0:	99                   	cltd
481aa1:	2b c2                	sub    %edx,%eax
481aa3:	8b f0                	mov    %eax,%esi
481aa5:	d1 fe                	sar    $1,%esi
481aa7:	56                   	push   %esi
481aa8:	e8 c9 60 f8 ff       	call   0x407b76
481aad:	56                   	push   %esi
481aae:	6a 00                	push   $0x0
481ab0:	53                   	push   %ebx
481ab1:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
481ab5:	e8 f3 5d f8 ff       	call   0x4078ad
481aba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481abd:	8d 44 24 20          	lea    0x20(%esp),%eax
481ac1:	50                   	push   %eax
481ac2:	e8 d5 80 f8 ff       	call   0x409b9c
481ac7:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481acb:	e8 94 3f f8 ff       	call   0x405a64
481ad0:	e9 c1 00 00 00       	jmp    0x481b96
481ad5:	57                   	push   %edi
481ad6:	e8 1b f5 f9 ff       	call   0x420ff6
481adb:	59                   	pop    %ecx
481adc:	8b d0                	mov    %eax,%edx
481ade:	33 c9                	xor    %ecx,%ecx
481ae0:	89 54 24 0c          	mov    %edx,0xc(%esp)
481ae4:	85 ff                	test   %edi,%edi
481ae6:	7e 1a                	jle    0x481b02
481ae8:	8b f2                	mov    %edx,%esi
481aea:	2b f3                	sub    %ebx,%esi
481aec:	8a 43 01             	mov    0x1(%ebx),%al
481aef:	88 04 1e             	mov    %al,(%esi,%ebx,1)
481af2:	8a 03                	mov    (%ebx),%al
481af4:	8d 5b 02             	lea    0x2(%ebx),%ebx
481af7:	88 44 0a 01          	mov    %al,0x1(%edx,%ecx,1)
481afb:	83 c1 02             	add    $0x2,%ecx
481afe:	3b cf                	cmp    %edi,%ecx
481b00:	7c ea                	jl     0x481aec
481b02:	8b c7                	mov    %edi,%eax
481b04:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481b08:	99                   	cltd
481b09:	2b c2                	sub    %edx,%eax
481b0b:	8b f0                	mov    %eax,%esi
481b0d:	d1 fe                	sar    $1,%esi
481b0f:	56                   	push   %esi
481b10:	e8 61 60 f8 ff       	call   0x407b76
481b15:	56                   	push   %esi
481b16:	8b 74 24 10          	mov    0x10(%esp),%esi
481b1a:	8d 4c 24 24          	lea    0x24(%esp),%ecx
481b1e:	6a 00                	push   $0x0
481b20:	56                   	push   %esi
481b21:	e8 87 5d f8 ff       	call   0x4078ad
481b26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481b29:	8d 44 24 20          	lea    0x20(%esp),%eax
481b2d:	50                   	push   %eax
481b2e:	e8 69 80 f8 ff       	call   0x409b9c
481b33:	56                   	push   %esi
481b34:	e8 33 f5 f9 ff       	call   0x42106c
481b39:	59                   	pop    %ecx
481b3a:	eb 8b                	jmp    0x481ac7
481b3c:	57                   	push   %edi
481b3d:	8d 4c 24 24          	lea    0x24(%esp),%ecx
481b41:	e8 c7 5b fe ff       	call   0x46770d
481b46:	57                   	push   %edi
481b47:	51                   	push   %ecx
481b48:	53                   	push   %ebx
481b49:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
481b4d:	e8 72 3f f8 ff       	call   0x405ac4
481b52:	57                   	push   %edi
481b53:	8d 4c 24 14          	lea    0x14(%esp),%ecx
481b57:	e8 1a 60 f8 ff       	call   0x407b76
481b5c:	8d 44 24 10          	lea    0x10(%esp),%eax
481b60:	50                   	push   %eax
481b61:	8d 44 24 24          	lea    0x24(%esp),%eax
481b65:	50                   	push   %eax
481b66:	83 fe 01             	cmp    $0x1,%esi
481b69:	75 07                	jne    0x481b72
481b6b:	e8 ca 5d f8 ff       	call   0x40793a
481b70:	eb 05                	jmp    0x481b77
481b72:	e8 4a 66 f8 ff       	call   0x4081c1
481b77:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481b7a:	8d 44 24 10          	lea    0x10(%esp),%eax
481b7e:	50                   	push   %eax
481b7f:	e8 18 80 f8 ff       	call   0x409b9c
481b84:	8d 4c 24 10          	lea    0x10(%esp),%ecx
481b88:	e8 d7 3e f8 ff       	call   0x405a64
481b8d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481b91:	e8 ce 3e f8 ff       	call   0x405a64
481b96:	5f                   	pop    %edi
481b97:	5e                   	pop    %esi
481b98:	33 c0                	xor    %eax,%eax
481b9a:	5b                   	pop    %ebx
481b9b:	8b e5                	mov    %ebp,%esp
481b9d:	5d                   	pop    %ebp
481b9e:	c2 08 00             	ret    $0x8
481ba1:	55                   	push   %ebp
481ba2:	8b ec                	mov    %esp,%ebp
481ba4:	83 e4 f8             	and    $0xfffffff8,%esp
481ba7:	83 ec 14             	sub    $0x14,%esp
481baa:	8b 45 08             	mov    0x8(%ebp),%eax
481bad:	56                   	push   %esi
481bae:	8b 40 04             	mov    0x4(%eax),%eax
481bb1:	8b 30                	mov    (%eax),%esi
481bb3:	8b ce                	mov    %esi,%ecx
481bb5:	e8 dd 7d f8 ff       	call   0x409997
481bba:	8b 4e 08             	mov    0x8(%esi),%ecx
481bbd:	8b 01                	mov    (%ecx),%eax
481bbf:	89 44 24 08          	mov    %eax,0x8(%esp)
481bc3:	8b 41 04             	mov    0x4(%ecx),%eax
481bc6:	89 44 24 0c          	mov    %eax,0xc(%esp)
481bca:	8b 41 08             	mov    0x8(%ecx),%eax
481bcd:	89 44 24 10          	mov    %eax,0x10(%esp)
481bd1:	8b 41 0c             	mov    0xc(%ecx),%eax
481bd4:	8d 4c 24 08          	lea    0x8(%esp),%ecx
481bd8:	89 44 24 14          	mov    %eax,0x14(%esp)
481bdc:	ff 00                	incl   (%eax)
481bde:	e8 32 1c fe ff       	call   0x463815
481be3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481be6:	8d 44 24 08          	lea    0x8(%esp),%eax
481bea:	50                   	push   %eax
481beb:	e8 ac 7f f8 ff       	call   0x409b9c
481bf0:	8d 4c 24 08          	lea    0x8(%esp),%ecx
481bf4:	e8 6b 3e f8 ff       	call   0x405a64
481bf9:	33 c0                	xor    %eax,%eax
481bfb:	5e                   	pop    %esi
481bfc:	8b e5                	mov    %ebp,%esp
481bfe:	5d                   	pop    %ebp
481bff:	c2 08 00             	ret    $0x8
481c02:	55                   	push   %ebp
481c03:	8b ec                	mov    %esp,%ebp
481c05:	53                   	push   %ebx
481c06:	56                   	push   %esi
481c07:	57                   	push   %edi
481c08:	8b 7d 08             	mov    0x8(%ebp),%edi
481c0b:	8b 47 04             	mov    0x4(%edi),%eax
481c0e:	8b 30                	mov    (%eax),%esi
481c10:	8b ce                	mov    %esi,%ecx
481c12:	e8 80 7d f8 ff       	call   0x409997
481c17:	8b 47 04             	mov    0x4(%edi),%eax
481c1a:	8b 5e 08             	mov    0x8(%esi),%ebx
481c1d:	8b 70 04             	mov    0x4(%eax),%esi
481c20:	8b ce                	mov    %esi,%ecx
481c22:	e8 70 7d f8 ff       	call   0x409997
481c27:	8b 76 08             	mov    0x8(%esi),%esi