4146c4:	8b 54 24 20          	mov    0x20(%esp),%edx
4146c8:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4146cc:	83 e1 0f             	and    $0xf,%ecx
4146cf:	89 4a 08             	mov    %ecx,0x8(%edx)
4146d2:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4146d6:	8b 51 04             	mov    0x4(%ecx),%edx
4146d9:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4146dd:	89 51 04             	mov    %edx,0x4(%ecx)
4146e0:	8b 54 24 20          	mov    0x20(%esp),%edx
4146e4:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
4146ea:	e9 ea fd ff ff       	jmp    0x4144d9
4146ef:	f6 44 24 0c 40       	testb  $0x40,0xc(%esp)
4146f4:	75 25                	jne    0x41471b
4146f6:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4146fa:	8b 54 24 0c          	mov    0xc(%esp),%edx
4146fe:	89 51 0c             	mov    %edx,0xc(%ecx)
414701:	8b 4c 24 08          	mov    0x8(%esp),%ecx
414705:	8b 51 04             	mov    0x4(%ecx),%edx
414708:	8b 4c 24 20          	mov    0x20(%esp),%ecx
41470c:	c1 e2 03             	shl    $0x3,%edx
41470f:	03 54 24 08          	add    0x8(%esp),%edx
414713:	89 51 08             	mov    %edx,0x8(%ecx)
414716:	e9 be fd ff ff       	jmp    0x4144d9
41471b:	f6 44 24 0c 20       	testb  $0x20,0xc(%esp)
414720:	74 0f                	je     0x414731
414722:	8b 54 24 20          	mov    0x20(%esp),%edx
414726:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
41472c:	e9 a8 fd ff ff       	jmp    0x4144d9
414731:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414735:	c7 01 09 00 00 00    	movl   $0x9,(%ecx)
41473b:	c7 46 18 1c 85 42 00 	movl   $0x42851c,0x18(%esi)
414742:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
414749:	8b 54 24 10          	mov    0x10(%esp),%edx
41474d:	89 53 20             	mov    %edx,0x20(%ebx)
414750:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414753:	8b 4c 24 14          	mov    0x14(%esp),%ecx
414757:	89 4e 04             	mov    %ecx,0x4(%esi)
41475a:	8b d7                	mov    %edi,%edx
41475c:	2b 16                	sub    (%esi),%edx
41475e:	01 56 08             	add    %edx,0x8(%esi)
414761:	89 3e                	mov    %edi,(%esi)
414763:	89 43 34             	mov    %eax,0x34(%ebx)
414766:	8b 0c 24             	mov    (%esp),%ecx
414769:	8b d6                	mov    %esi,%edx
41476b:	8b c3                	mov    %ebx,%eax
41476d:	e8 ce 05 00 00       	call   0x414d40
414772:	e9 b4 05 00 00       	jmp    0x414d2b
414777:	8b 4c 24 20          	mov    0x20(%esp),%ecx
41477b:	8b 51 08             	mov    0x8(%ecx),%edx
41477e:	89 54 24 04          	mov    %edx,0x4(%esp)
414782:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
414786:	73 5a                	jae    0x4147e2
414788:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
41478d:	74 07                	je     0x414796
41478f:	33 c9                	xor    %ecx,%ecx
414791:	89 0c 24             	mov    %ecx,(%esp)
414794:	eb 2e                	jmp    0x4147c4
414796:	8b 54 24 10          	mov    0x10(%esp),%edx
41479a:	89 53 20             	mov    %edx,0x20(%ebx)
41479d:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
4147a0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4147a4:	89 4e 04             	mov    %ecx,0x4(%esi)
4147a7:	8b d7                	mov    %edi,%edx
4147a9:	2b 16                	sub    (%esi),%edx
4147ab:	01 56 08             	add    %edx,0x8(%esi)
4147ae:	89 3e                	mov    %edi,(%esi)
4147b0:	89 43 34             	mov    %eax,0x34(%ebx)
4147b3:	8b 0c 24             	mov    (%esp),%ecx
4147b6:	8b d6                	mov    %esi,%edx
4147b8:	8b c3                	mov    %ebx,%eax
4147ba:	e8 81 05 00 00       	call   0x414d40
4147bf:	e9 67 05 00 00       	jmp    0x414d2b
4147c4:	ff 4c 24 14          	decl   0x14(%esp)
4147c8:	8b cd                	mov    %ebp,%ecx
4147ca:	8a 17                	mov    (%edi),%dl
4147cc:	47                   	inc    %edi
4147cd:	81 e2 ff 00 00 00    	and    $0xff,%edx
4147d3:	83 c5 08             	add    $0x8,%ebp
4147d6:	d3 e2                	shl    %cl,%edx
4147d8:	09 54 24 10          	or     %edx,0x10(%esp)
4147dc:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
4147e0:	72 a6                	jb     0x414788
4147e2:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4147e6:	8b 14 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%edx
4147ed:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4147f1:	23 54 24 10          	and    0x10(%esp),%edx
4147f5:	01 51 04             	add    %edx,0x4(%ecx)
4147f8:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4147fc:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
414800:	8b 54 24 20          	mov    0x20(%esp),%edx
414804:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414808:	2b 6c 24 04          	sub    0x4(%esp),%ebp
41480c:	0f b6 52 11          	movzbl 0x11(%edx),%edx
414810:	89 51 0c             	mov    %edx,0xc(%ecx)
414813:	8b 54 24 20          	mov    0x20(%esp),%edx
414817:	8b 4a 18             	mov    0x18(%edx),%ecx
41481a:	8b 54 24 20          	mov    0x20(%esp),%edx
41481e:	89 4a 08             	mov    %ecx,0x8(%edx)
414821:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414825:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
41482b:	8b 54 24 20          	mov    0x20(%esp),%edx
41482f:	8b 4a 0c             	mov    0xc(%edx),%ecx
414832:	89 4c 24 04          	mov    %ecx,0x4(%esp)
414836:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
41483a:	73 5a                	jae    0x414896
41483c:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
414841:	74 07                	je     0x41484a
414843:	33 d2                	xor    %edx,%edx
414845:	89 14 24             	mov    %edx,(%esp)
414848:	eb 2e                	jmp    0x414878
41484a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41484e:	89 4b 20             	mov    %ecx,0x20(%ebx)
414851:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414854:	8b 54 24 14          	mov    0x14(%esp),%edx
414858:	8b cf                	mov    %edi,%ecx
41485a:	89 56 04             	mov    %edx,0x4(%esi)
41485d:	8b d6                	mov    %esi,%edx
41485f:	2b 0e                	sub    (%esi),%ecx
414861:	01 4e 08             	add    %ecx,0x8(%esi)
414864:	89 3e                	mov    %edi,(%esi)
414866:	89 43 34             	mov    %eax,0x34(%ebx)
414869:	8b c3                	mov    %ebx,%eax
41486b:	8b 0c 24             	mov    (%esp),%ecx
41486e:	e8 cd 04 00 00       	call   0x414d40
414873:	e9 b3 04 00 00       	jmp    0x414d2b
414878:	ff 4c 24 14          	decl   0x14(%esp)
41487c:	8b cd                	mov    %ebp,%ecx
41487e:	8a 17                	mov    (%edi),%dl
414880:	47                   	inc    %edi
414881:	81 e2 ff 00 00 00    	and    $0xff,%edx
414887:	83 c5 08             	add    $0x8,%ebp
41488a:	d3 e2                	shl    %cl,%edx
41488c:	09 54 24 10          	or     %edx,0x10(%esp)
414890:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
414894:	72 a6                	jb     0x41483c
414896:	8b 4c 24 20          	mov    0x20(%esp),%ecx
41489a:	8b 51 08             	mov    0x8(%ecx),%edx
41489d:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4148a1:	8b 0c 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%ecx
4148a8:	23 4c 24 10          	and    0x10(%esp),%ecx
4148ac:	c1 e1 03             	shl    $0x3,%ecx
4148af:	03 d1                	add    %ecx,%edx
4148b1:	89 54 24 08          	mov    %edx,0x8(%esp)
4148b5:	8b 54 24 08          	mov    0x8(%esp),%edx
4148b9:	8a 52 01             	mov    0x1(%edx),%dl
4148bc:	8b ca                	mov    %edx,%ecx
4148be:	81 e2 ff 00 00 00    	and    $0xff,%edx
4148c4:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
4148c8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4148cc:	2b ea                	sub    %edx,%ebp
4148ce:	33 d2                	xor    %edx,%edx
4148d0:	8a 11                	mov    (%ecx),%dl
4148d2:	89 54 24 0c          	mov    %edx,0xc(%esp)
4148d6:	f6 44 24 0c 10       	testb  $0x10,0xc(%esp)
4148db:	74 2b                	je     0x414908
4148dd:	8b 54 24 20          	mov    0x20(%esp),%edx
4148e1:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4148e5:	83 e1 0f             	and    $0xf,%ecx
4148e8:	89 4a 08             	mov    %ecx,0x8(%edx)
4148eb:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4148ef:	8b 51 04             	mov    0x4(%ecx),%edx
4148f2:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4148f6:	89 51 0c             	mov    %edx,0xc(%ecx)
4148f9:	8b 54 24 20          	mov    0x20(%esp),%edx
4148fd:	c7 02 04 00 00 00    	movl   $0x4,(%edx)
414903:	e9 d1 fb ff ff       	jmp    0x4144d9
414908:	f6 44 24 0c 40       	testb  $0x40,0xc(%esp)
41490d:	75 25                	jne    0x414934
41490f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414913:	8b 54 24 0c          	mov    0xc(%esp),%edx
414917:	89 51 0c             	mov    %edx,0xc(%ecx)
41491a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
41491e:	8b 51 04             	mov    0x4(%ecx),%edx
414921:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414925:	c1 e2 03             	shl    $0x3,%edx
414928:	03 54 24 08          	add    0x8(%esp),%edx
41492c:	89 51 08             	mov    %edx,0x8(%ecx)
41492f:	e9 a5 fb ff ff       	jmp    0x4144d9
414934:	8b 54 24 20          	mov    0x20(%esp),%edx
414938:	c7 02 09 00 00 00    	movl   $0x9,(%edx)
41493e:	c7 46 18 38 85 42 00 	movl   $0x428538,0x18(%esi)
414945:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
41494c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414950:	89 4b 20             	mov    %ecx,0x20(%ebx)
414953:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414956:	8b 54 24 14          	mov    0x14(%esp),%edx
41495a:	8b cf                	mov    %edi,%ecx
41495c:	89 56 04             	mov    %edx,0x4(%esi)
41495f:	8b d6                	mov    %esi,%edx
414961:	2b 0e                	sub    (%esi),%ecx
414963:	01 4e 08             	add    %ecx,0x8(%esi)
414966:	89 3e                	mov    %edi,(%esi)
414968:	89 43 34             	mov    %eax,0x34(%ebx)
41496b:	8b c3                	mov    %ebx,%eax
41496d:	8b 0c 24             	mov    (%esp),%ecx
414970:	e8 cb 03 00 00       	call   0x414d40
414975:	e9 b1 03 00 00       	jmp    0x414d2b
41497a:	8b 54 24 20          	mov    0x20(%esp),%edx
41497e:	8b 4a 08             	mov    0x8(%edx),%ecx
414981:	89 4c 24 04          	mov    %ecx,0x4(%esp)
414985:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
414989:	73 5a                	jae    0x4149e5
41498b:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
414990:	74 07                	je     0x414999
414992:	33 d2                	xor    %edx,%edx
414994:	89 14 24             	mov    %edx,(%esp)
414997:	eb 2e                	jmp    0x4149c7
414999:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41499d:	89 4b 20             	mov    %ecx,0x20(%ebx)
4149a0:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
4149a3:	8b 54 24 14          	mov    0x14(%esp),%edx
4149a7:	8b cf                	mov    %edi,%ecx
4149a9:	89 56 04             	mov    %edx,0x4(%esi)
4149ac:	8b d6                	mov    %esi,%edx
4149ae:	2b 0e                	sub    (%esi),%ecx
4149b0:	01 4e 08             	add    %ecx,0x8(%esi)
4149b3:	89 3e                	mov    %edi,(%esi)
4149b5:	89 43 34             	mov    %eax,0x34(%ebx)
4149b8:	8b c3                	mov    %ebx,%eax
4149ba:	8b 0c 24             	mov    (%esp),%ecx
4149bd:	e8 7e 03 00 00       	call   0x414d40
4149c2:	e9 64 03 00 00       	jmp    0x414d2b
4149c7:	ff 4c 24 14          	decl   0x14(%esp)
4149cb:	8b cd                	mov    %ebp,%ecx
4149cd:	8a 17                	mov    (%edi),%dl
4149cf:	47                   	inc    %edi
4149d0:	81 e2 ff 00 00 00    	and    $0xff,%edx
4149d6:	83 c5 08             	add    $0x8,%ebp
4149d9:	d3 e2                	shl    %cl,%edx
4149db:	09 54 24 10          	or     %edx,0x10(%esp)
4149df:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
4149e3:	72 a6                	jb     0x41498b
4149e5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4149e9:	8b 14 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%edx
4149f0:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4149f4:	23 54 24 10          	and    0x10(%esp),%edx
4149f8:	01 51 0c             	add    %edx,0xc(%ecx)
4149fb:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4149ff:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
414a03:	8b 54 24 20          	mov    0x20(%esp),%edx
414a07:	2b 6c 24 04          	sub    0x4(%esp),%ebp
414a0b:	c7 02 05 00 00 00    	movl   $0x5,(%edx)
414a11:	8b 54 24 20          	mov    0x20(%esp),%edx
414a15:	8b c8                	mov    %eax,%ecx
414a17:	2b 4a 0c             	sub    0xc(%edx),%ecx
414a1a:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
414a1e:	eb 09                	jmp    0x414a29
414a20:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
414a23:	2b ca                	sub    %edx,%ecx
414a25:	01 4c 24 1c          	add    %ecx,0x1c(%esp)
414a29:	8b 53 28             	mov    0x28(%ebx),%edx
414a2c:	3b 54 24 1c          	cmp    0x1c(%esp),%edx
414a30:	77 ee                	ja     0x414a20
414a32:	e9 ef 00 00 00       	jmp    0x414b26
414a37:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414a3c:	0f 85 b7 00 00 00    	jne    0x414af9
414a42:	3b 43 2c             	cmp    0x2c(%ebx),%eax
414a45:	75 21                	jne    0x414a68
414a47:	8b 53 30             	mov    0x30(%ebx),%edx
414a4a:	3b 53 28             	cmp    0x28(%ebx),%edx
414a4d:	74 19                	je     0x414a68
414a4f:	8b 43 28             	mov    0x28(%ebx),%eax
414a52:	3b 43 30             	cmp    0x30(%ebx),%eax
414a55:	73 08                	jae    0x414a5f
414a57:	8b 4b 30             	mov    0x30(%ebx),%ecx
414a5a:	2b c8                	sub    %eax,%ecx
414a5c:	49                   	dec    %ecx
414a5d:	eb 05                	jmp    0x414a64
414a5f:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
414a62:	2b c8                	sub    %eax,%ecx
414a64:	89 4c 24 18          	mov    %ecx,0x18(%esp)
414a68:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414a6d:	0f 85 86 00 00 00    	jne    0x414af9
414a73:	89 43 34             	mov    %eax,0x34(%ebx)
414a76:	8b 0c 24             	mov    (%esp),%ecx
414a79:	8b d6                	mov    %esi,%edx
414a7b:	8b c3                	mov    %ebx,%eax
414a7d:	e8 be 02 00 00       	call   0x414d40
414a82:	89 04 24             	mov    %eax,(%esp)
414a85:	8b 43 34             	mov    0x34(%ebx),%eax
414a88:	3b 43 30             	cmp    0x30(%ebx),%eax
414a8b:	73 08                	jae    0x414a95
414a8d:	8b 53 30             	mov    0x30(%ebx),%edx
414a90:	2b d0                	sub    %eax,%edx
414a92:	4a                   	dec    %edx
414a93:	eb 05                	jmp    0x414a9a
414a95:	8b 53 2c             	mov    0x2c(%ebx),%edx
414a98:	2b d0                	sub    %eax,%edx
414a9a:	89 54 24 18          	mov    %edx,0x18(%esp)
414a9e:	3b 43 2c             	cmp    0x2c(%ebx),%eax
414aa1:	75 21                	jne    0x414ac4
414aa3:	8b 4b 30             	mov    0x30(%ebx),%ecx
414aa6:	3b 4b 28             	cmp    0x28(%ebx),%ecx
414aa9:	74 19                	je     0x414ac4
414aab:	8b 43 28             	mov    0x28(%ebx),%eax
414aae:	3b 43 30             	cmp    0x30(%ebx),%eax
414ab1:	73 08                	jae    0x414abb
414ab3:	8b 53 30             	mov    0x30(%ebx),%edx
414ab6:	2b d0                	sub    %eax,%edx
414ab8:	4a                   	dec    %edx
414ab9:	eb 05                	jmp    0x414ac0
414abb:	8b 53 2c             	mov    0x2c(%ebx),%edx
414abe:	2b d0                	sub    %eax,%edx
414ac0:	89 54 24 18          	mov    %edx,0x18(%esp)
414ac4:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414ac9:	75 2e                	jne    0x414af9
414acb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414acf:	89 4b 20             	mov    %ecx,0x20(%ebx)
414ad2:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414ad5:	8b 54 24 14          	mov    0x14(%esp),%edx
414ad9:	8b cf                	mov    %edi,%ecx
414adb:	89 56 04             	mov    %edx,0x4(%esi)
414ade:	8b d6                	mov    %esi,%edx
414ae0:	2b 0e                	sub    (%esi),%ecx
414ae2:	01 4e 08             	add    %ecx,0x8(%esi)
414ae5:	89 3e                	mov    %edi,(%esi)
414ae7:	89 43 34             	mov    %eax,0x34(%ebx)
414aea:	8b c3                	mov    %ebx,%eax
414aec:	8b 0c 24             	mov    (%esp),%ecx
414aef:	e8 4c 02 00 00       	call   0x414d40
414af4:	e9 32 02 00 00       	jmp    0x414d2b
414af9:	33 d2                	xor    %edx,%edx
414afb:	89 14 24             	mov    %edx,(%esp)
414afe:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
414b02:	8a 11                	mov    (%ecx),%dl
414b04:	88 10                	mov    %dl,(%eax)
414b06:	ff 44 24 1c          	incl   0x1c(%esp)
414b0a:	40                   	inc    %eax
414b0b:	ff 4c 24 18          	decl   0x18(%esp)
414b0f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
414b13:	3b 4b 2c             	cmp    0x2c(%ebx),%ecx
414b16:	75 07                	jne    0x414b1f
414b18:	8b 53 28             	mov    0x28(%ebx),%edx
414b1b:	89 54 24 1c          	mov    %edx,0x1c(%esp)
414b1f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414b23:	ff 49 04             	decl   0x4(%ecx)
414b26:	8b 54 24 20          	mov    0x20(%esp),%edx
414b2a:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
414b2e:	0f 85 03 ff ff ff    	jne    0x414a37
414b34:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414b38:	33 d2                	xor    %edx,%edx
414b3a:	89 11                	mov    %edx,(%ecx)
414b3c:	e9 98 f9 ff ff       	jmp    0x4144d9
414b41:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414b46:	0f 85 b7 00 00 00    	jne    0x414c03
414b4c:	3b 43 2c             	cmp    0x2c(%ebx),%eax
414b4f:	75 21                	jne    0x414b72
414b51:	8b 4b 30             	mov    0x30(%ebx),%ecx
414b54:	3b 4b 28             	cmp    0x28(%ebx),%ecx
414b57:	74 19                	je     0x414b72