a8771d:	89 7e 38             	mov    %edi,0x38(%esi)
a87720:	40                   	inc    %eax
a87721:	5f                   	pop    %edi
a87722:	89 46 34             	mov    %eax,0x34(%esi)
a87725:	5e                   	pop    %esi
a87726:	5b                   	pop    %ebx
a87727:	8b e5                	mov    %ebp,%esp
a87729:	5d                   	pop    %ebp
a8772a:	c2 10 00             	ret    $0x10
a8772d:	cc                   	int3
a8772e:	cc                   	int3
a8772f:	cc                   	int3
a87730:	cc                   	int3
a87731:	cc                   	int3
a87732:	cc                   	int3
a87733:	cc                   	int3
a87734:	cc                   	int3
a87735:	cc                   	int3
a87736:	cc                   	int3
a87737:	cc                   	int3
a87738:	cc                   	int3
a87739:	cc                   	int3
a8773a:	cc                   	int3
a8773b:	cc                   	int3
a8773c:	cc                   	int3
a8773d:	cc                   	int3
a8773e:	cc                   	int3
a8773f:	cc                   	int3
a87740:	cc                   	int3
a87741:	cc                   	int3
a87742:	cc                   	int3
a87743:	cc                   	int3
a87744:	cc                   	int3
a87745:	cc                   	int3
a87746:	cc                   	int3
a87747:	cc                   	int3
a87748:	cc                   	int3
a87749:	cc                   	int3
a8774a:	cc                   	int3
a8774b:	cc                   	int3
a8774c:	cc                   	int3
a8774d:	cc                   	int3
a8774e:	cc                   	int3
a8774f:	8b ff                	mov    %edi,%edi
a87751:	55                   	push   %ebp
a87752:	8b ec                	mov    %esp,%ebp
a87754:	51                   	push   %ecx
a87755:	51                   	push   %ecx
a87756:	53                   	push   %ebx
a87757:	56                   	push   %esi
a87758:	8b f1                	mov    %ecx,%esi
a8775a:	57                   	push   %edi
a8775b:	8d 4e 40             	lea    0x40(%esi),%ecx
a8775e:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
a87764:	85 ff                	test   %edi,%edi
a87766:	75 02                	jne    0xa8776a
a87768:	8b f9                	mov    %ecx,%edi
a8776a:	e8 c3 c7 9a ff       	call   0x433f32
a8776f:	8b 55 0c             	mov    0xc(%ebp),%edx
a87772:	48                   	dec    %eax
a87773:	8b 5d 08             	mov    0x8(%ebp),%ebx
a87776:	03 f8                	add    %eax,%edi
a87778:	89 7e 34             	mov    %edi,0x34(%esi)
a8777b:	8b 4e 28             	mov    0x28(%esi),%ecx
a8777e:	85 c9                	test   %ecx,%ecx
a87780:	7f 06                	jg     0xa87788
a87782:	8b c3                	mov    %ebx,%eax
a87784:	0b c2                	or     %edx,%eax
a87786:	74 3a                	je     0xa877c2
a87788:	6a 00                	push   $0x0
a8778a:	ff 75 10             	push   0x10(%ebp)
a8778d:	8d 41 ff             	lea    -0x1(%ecx),%eax
a87790:	52                   	push   %edx
a87791:	53                   	push   %ebx
a87792:	89 46 28             	mov    %eax,0x28(%esi)
a87795:	e8 27 e5 98 ff       	call   0x415cc1
a8779a:	80 c1 30             	add    $0x30,%cl
a8779d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a877a0:	8b d8                	mov    %eax,%ebx
a877a2:	80 f9 39             	cmp    $0x39,%cl
a877a5:	7e 11                	jle    0xa877b8
a877a7:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
a877ab:	0f 94 c0             	sete   %al
a877ae:	fe c8                	dec    %al
a877b0:	24 e0                	and    $0xe0,%al
a877b2:	04 61                	add    $0x61,%al
a877b4:	2c 3a                	sub    $0x3a,%al
a877b6:	02 c8                	add    %al,%cl
a877b8:	8b 46 34             	mov    0x34(%esi),%eax
a877bb:	88 08                	mov    %cl,(%eax)
a877bd:	ff 4e 34             	decl   0x34(%esi)
a877c0:	eb b9                	jmp    0xa8777b
a877c2:	8b 46 34             	mov    0x34(%esi),%eax
a877c5:	2b f8                	sub    %eax,%edi
a877c7:	89 7e 38             	mov    %edi,0x38(%esi)
a877ca:	40                   	inc    %eax
a877cb:	5f                   	pop    %edi
a877cc:	89 46 34             	mov    %eax,0x34(%esi)
a877cf:	5e                   	pop    %esi
a877d0:	5b                   	pop    %ebx
a877d1:	8b e5                	mov    %ebp,%esp
a877d3:	5d                   	pop    %ebp
a877d4:	c2 10 00             	ret    $0x10
a877d7:	cc                   	int3
a877d8:	cc                   	int3
a877d9:	cc                   	int3
a877da:	cc                   	int3
a877db:	cc                   	int3
a877dc:	cc                   	int3
a877dd:	cc                   	int3
a877de:	cc                   	int3
a877df:	cc                   	int3
a877e0:	cc                   	int3
a877e1:	cc                   	int3
a877e2:	cc                   	int3
a877e3:	cc                   	int3
a877e4:	cc                   	int3
a877e5:	cc                   	int3
a877e6:	cc                   	int3
a877e7:	cc                   	int3
a877e8:	cc                   	int3
a877e9:	cc                   	int3
a877ea:	cc                   	int3
a877eb:	cc                   	int3
a877ec:	cc                   	int3
a877ed:	cc                   	int3
a877ee:	cc                   	int3
a877ef:	cc                   	int3
a877f0:	cc                   	int3
a877f1:	cc                   	int3
a877f2:	cc                   	int3
a877f3:	cc                   	int3
a877f4:	cc                   	int3
a877f5:	cc                   	int3
a877f6:	cc                   	int3
a877f7:	cc                   	int3
a877f8:	cc                   	int3
a877f9:	8b ff                	mov    %edi,%edi
a877fb:	55                   	push   %ebp
a877fc:	8b ec                	mov    %esp,%ebp
a877fe:	51                   	push   %ecx
a877ff:	51                   	push   %ecx
a87800:	53                   	push   %ebx
a87801:	56                   	push   %esi
a87802:	8b f1                	mov    %ecx,%esi
a87804:	57                   	push   %edi
a87805:	8d 4e 40             	lea    0x40(%esi),%ecx
a87808:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
a8780e:	85 ff                	test   %edi,%edi
a87810:	75 02                	jne    0xa87814
a87812:	8b f9                	mov    %ecx,%edi
a87814:	e8 19 c7 9a ff       	call   0x433f32
a87819:	8b 55 0c             	mov    0xc(%ebp),%edx
a8781c:	48                   	dec    %eax
a8781d:	8b 5d 08             	mov    0x8(%ebp),%ebx
a87820:	03 f8                	add    %eax,%edi
a87822:	89 7e 34             	mov    %edi,0x34(%esi)
a87825:	8b 4e 28             	mov    0x28(%esi),%ecx
a87828:	85 c9                	test   %ecx,%ecx
a8782a:	7f 06                	jg     0xa87832
a8782c:	8b c3                	mov    %ebx,%eax
a8782e:	0b c2                	or     %edx,%eax
a87830:	74 3a                	je     0xa8786c
a87832:	6a 00                	push   $0x0
a87834:	ff 75 10             	push   0x10(%ebp)
a87837:	8d 41 ff             	lea    -0x1(%ecx),%eax
a8783a:	52                   	push   %edx
a8783b:	53                   	push   %ebx
a8783c:	89 46 28             	mov    %eax,0x28(%esi)
a8783f:	e8 7d e4 98 ff       	call   0x415cc1
a87844:	80 c1 30             	add    $0x30,%cl
a87847:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a8784a:	8b d8                	mov    %eax,%ebx
a8784c:	80 f9 39             	cmp    $0x39,%cl
a8784f:	7e 11                	jle    0xa87862
a87851:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
a87855:	0f 94 c0             	sete   %al
a87858:	fe c8                	dec    %al
a8785a:	24 e0                	and    $0xe0,%al
a8785c:	04 61                	add    $0x61,%al
a8785e:	2c 3a                	sub    $0x3a,%al
a87860:	02 c8                	add    %al,%cl
a87862:	8b 46 34             	mov    0x34(%esi),%eax
a87865:	88 08                	mov    %cl,(%eax)
a87867:	ff 4e 34             	decl   0x34(%esi)
a8786a:	eb b9                	jmp    0xa87825
a8786c:	8b 46 34             	mov    0x34(%esi),%eax
a8786f:	2b f8                	sub    %eax,%edi
a87871:	89 7e 38             	mov    %edi,0x38(%esi)
a87874:	40                   	inc    %eax
a87875:	5f                   	pop    %edi
a87876:	89 46 34             	mov    %eax,0x34(%esi)
a87879:	5e                   	pop    %esi
a8787a:	5b                   	pop    %ebx
a8787b:	8b e5                	mov    %ebp,%esp
a8787d:	5d                   	pop    %ebp
a8787e:	c2 10 00             	ret    $0x10
a87881:	cc                   	int3
a87882:	cc                   	int3
a87883:	cc                   	int3
a87884:	cc                   	int3
a87885:	cc                   	int3
a87886:	cc                   	int3
a87887:	cc                   	int3
a87888:	cc                   	int3
a87889:	cc                   	int3
a8788a:	cc                   	int3
a8788b:	cc                   	int3
a8788c:	cc                   	int3
a8788d:	cc                   	int3
a8788e:	cc                   	int3
a8788f:	cc                   	int3
a87890:	cc                   	int3
a87891:	cc                   	int3
a87892:	cc                   	int3
a87893:	cc                   	int3
a87894:	cc                   	int3
a87895:	cc                   	int3
a87896:	cc                   	int3
a87897:	cc                   	int3
a87898:	cc                   	int3
a87899:	cc                   	int3
a8789a:	cc                   	int3
a8789b:	cc                   	int3
a8789c:	cc                   	int3
a8789d:	cc                   	int3
a8789e:	cc                   	int3
a8789f:	cc                   	int3
a878a0:	cc                   	int3
a878a1:	cc                   	int3
a878a2:	cc                   	int3
a878a3:	8b ff                	mov    %edi,%edi
a878a5:	55                   	push   %ebp
a878a6:	8b ec                	mov    %esp,%ebp
a878a8:	51                   	push   %ecx
a878a9:	51                   	push   %ecx
a878aa:	53                   	push   %ebx
a878ab:	56                   	push   %esi
a878ac:	8b f1                	mov    %ecx,%esi
a878ae:	57                   	push   %edi
a878af:	8d 4e 40             	lea    0x40(%esi),%ecx
a878b2:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
a878b8:	85 ff                	test   %edi,%edi
a878ba:	75 02                	jne    0xa878be
a878bc:	8b f9                	mov    %ecx,%edi
a878be:	e8 6f c6 9a ff       	call   0x433f32
a878c3:	8b 55 0c             	mov    0xc(%ebp),%edx
a878c6:	48                   	dec    %eax
a878c7:	8b 5d 08             	mov    0x8(%ebp),%ebx
a878ca:	03 f8                	add    %eax,%edi
a878cc:	89 7e 34             	mov    %edi,0x34(%esi)
a878cf:	8b 4e 28             	mov    0x28(%esi),%ecx
a878d2:	85 c9                	test   %ecx,%ecx
a878d4:	7f 06                	jg     0xa878dc
a878d6:	8b c3                	mov    %ebx,%eax
a878d8:	0b c2                	or     %edx,%eax
a878da:	74 3a                	je     0xa87916
a878dc:	6a 00                	push   $0x0
a878de:	ff 75 10             	push   0x10(%ebp)
a878e1:	8d 41 ff             	lea    -0x1(%ecx),%eax
a878e4:	52                   	push   %edx
a878e5:	53                   	push   %ebx
a878e6:	89 46 28             	mov    %eax,0x28(%esi)
a878e9:	e8 d3 e3 98 ff       	call   0x415cc1
a878ee:	80 c1 30             	add    $0x30,%cl
a878f1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a878f4:	8b d8                	mov    %eax,%ebx
a878f6:	80 f9 39             	cmp    $0x39,%cl
a878f9:	7e 11                	jle    0xa8790c
a878fb:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
a878ff:	0f 94 c0             	sete   %al
a87902:	fe c8                	dec    %al
a87904:	24 e0                	and    $0xe0,%al
a87906:	04 61                	add    $0x61,%al
a87908:	2c 3a                	sub    $0x3a,%al
a8790a:	02 c8                	add    %al,%cl
a8790c:	8b 46 34             	mov    0x34(%esi),%eax
a8790f:	88 08                	mov    %cl,(%eax)
a87911:	ff 4e 34             	decl   0x34(%esi)
a87914:	eb b9                	jmp    0xa878cf
a87916:	8b 46 34             	mov    0x34(%esi),%eax
a87919:	2b f8                	sub    %eax,%edi
a8791b:	89 7e 38             	mov    %edi,0x38(%esi)
a8791e:	40                   	inc    %eax
a8791f:	5f                   	pop    %edi
a87920:	89 46 34             	mov    %eax,0x34(%esi)
a87923:	5e                   	pop    %esi
a87924:	5b                   	pop    %ebx
a87925:	8b e5                	mov    %ebp,%esp
a87927:	5d                   	pop    %ebp
a87928:	c2 10 00             	ret    $0x10
a8792b:	cc                   	int3
a8792c:	cc                   	int3
a8792d:	cc                   	int3
a8792e:	cc                   	int3
a8792f:	cc                   	int3
a87930:	cc                   	int3
a87931:	cc                   	int3
a87932:	cc                   	int3
a87933:	cc                   	int3
a87934:	cc                   	int3
a87935:	cc                   	int3
a87936:	cc                   	int3
a87937:	cc                   	int3
a87938:	cc                   	int3
a87939:	cc                   	int3
a8793a:	cc                   	int3
a8793b:	cc                   	int3
a8793c:	cc                   	int3
a8793d:	cc                   	int3
a8793e:	cc                   	int3
a8793f:	cc                   	int3
a87940:	cc                   	int3
a87941:	cc                   	int3
a87942:	cc                   	int3
a87943:	cc                   	int3
a87944:	cc                   	int3
a87945:	cc                   	int3
a87946:	cc                   	int3
a87947:	cc                   	int3
a87948:	cc                   	int3
a87949:	cc                   	int3
a8794a:	cc                   	int3
a8794b:	cc                   	int3
a8794c:	cc                   	int3
a8794d:	8b ff                	mov    %edi,%edi
a8794f:	55                   	push   %ebp
a87950:	8b ec                	mov    %esp,%ebp
a87952:	51                   	push   %ecx
a87953:	51                   	push   %ecx
a87954:	53                   	push   %ebx
a87955:	56                   	push   %esi
a87956:	8b f1                	mov    %ecx,%esi
a87958:	57                   	push   %edi
a87959:	8d 4e 40             	lea    0x40(%esi),%ecx
a8795c:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
a87962:	85 ff                	test   %edi,%edi
a87964:	75 02                	jne    0xa87968
a87966:	8b f9                	mov    %ecx,%edi
a87968:	e8 c5 c5 9a ff       	call   0x433f32
a8796d:	8b 55 0c             	mov    0xc(%ebp),%edx
a87970:	48                   	dec    %eax
a87971:	8b 5d 08             	mov    0x8(%ebp),%ebx
a87974:	03 f8                	add    %eax,%edi
a87976:	89 7e 34             	mov    %edi,0x34(%esi)
a87979:	8b 4e 28             	mov    0x28(%esi),%ecx
a8797c:	85 c9                	test   %ecx,%ecx
a8797e:	7f 06                	jg     0xa87986
a87980:	8b c3                	mov    %ebx,%eax
a87982:	0b c2                	or     %edx,%eax