5376a7:	85 c0                	test   %eax,%eax
5376a9:	74 20                	je     0x5376cb
5376ab:	50                   	push   %eax
5376ac:	ff 15 68 18 72 00    	call   *0x721868
5376b2:	83 c4 04             	add    $0x4,%esp
5376b5:	8b c7                	mov    %edi,%eax
5376b7:	5f                   	pop    %edi
5376b8:	5b                   	pop    %ebx
5376b9:	5e                   	pop    %esi
5376ba:	8b e5                	mov    %ebp,%esp
5376bc:	5d                   	pop    %ebp
5376bd:	c3                   	ret
5376be:	57                   	push   %edi
5376bf:	56                   	push   %esi
5376c0:	ff 15 38 18 72 00    	call   *0x721838
5376c6:	83 c4 08             	add    $0x8,%esp
5376c9:	8b f8                	mov    %eax,%edi
5376cb:	8b c7                	mov    %edi,%eax
5376cd:	5f                   	pop    %edi
5376ce:	5b                   	pop    %ebx
5376cf:	5e                   	pop    %esi
5376d0:	8b e5                	mov    %ebp,%esp
5376d2:	5d                   	pop    %ebp
5376d3:	c3                   	ret
5376d4:	cc                   	int3
5376d5:	cc                   	int3
5376d6:	cc                   	int3
5376d7:	cc                   	int3
5376d8:	cc                   	int3
5376d9:	cc                   	int3
5376da:	cc                   	int3
5376db:	cc                   	int3
5376dc:	cc                   	int3
5376dd:	cc                   	int3
5376de:	cc                   	int3
5376df:	cc                   	int3
5376e0:	55                   	push   %ebp
5376e1:	8b ec                	mov    %esp,%ebp
5376e3:	83 ec 1c             	sub    $0x1c,%esp
5376e6:	8b 55 0c             	mov    0xc(%ebp),%edx
5376e9:	53                   	push   %ebx
5376ea:	56                   	push   %esi
5376eb:	57                   	push   %edi
5376ec:	8b 7d 08             	mov    0x8(%ebp),%edi
5376ef:	bb c0 bd f0 ff       	mov    $0xfff0bdc0,%ebx
5376f4:	8b 42 0c             	mov    0xc(%edx),%eax
5376f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
5376fa:	8b 47 28             	mov    0x28(%edi),%eax
5376fd:	8b 37                	mov    (%edi),%esi
5376ff:	89 45 f4             	mov    %eax,-0xc(%ebp)
537702:	40                   	inc    %eax
537703:	89 45 f8             	mov    %eax,-0x8(%ebp)
537706:	40                   	inc    %eax
537707:	89 47 28             	mov    %eax,0x28(%edi)
53770a:	8b 4a 18             	mov    0x18(%edx),%ecx
53770d:	85 c9                	test   %ecx,%ecx
53770f:	74 17                	je     0x537728
537711:	8b 46 10             	mov    0x10(%esi),%eax
537714:	33 db                	xor    %ebx,%ebx
537716:	83 c0 0c             	add    $0xc,%eax
537719:	39 08                	cmp    %ecx,(%eax)
53771b:	74 0b                	je     0x537728
53771d:	0f 1f 00             	nopl   (%eax)
537720:	8d 40 10             	lea    0x10(%eax),%eax
537723:	43                   	inc    %ebx
537724:	39 08                	cmp    %ecx,(%eax)
537726:	75 f8                	jne    0x537720
537728:	8b 46 10             	mov    0x10(%esi),%eax
53772b:	8b cb                	mov    %ebx,%ecx
53772d:	03 c9                	add    %ecx,%ecx
53772f:	ff 34 c8             	push   (%eax,%ecx,8)
537732:	6a 00                	push   $0x0
537734:	ff 32                	push   (%edx)
537736:	6a 1b                	push   $0x1b
537738:	57                   	push   %edi
537739:	e8 62 20 fe ff       	call   0x5197a0
53773e:	83 c4 14             	add    $0x14,%esp
537741:	85 c0                	test   %eax,%eax
537743:	0f 85 5f 03 00 00    	jne    0x537aa8
537749:	8b 45 ec             	mov    -0x14(%ebp),%eax
53774c:	ff 30                	push   (%eax)
53774e:	6a 01                	push   $0x1
537750:	ff 70 1c             	push   0x1c(%eax)
537753:	53                   	push   %ebx
537754:	57                   	push   %edi
537755:	e8 76 67 00 00       	call   0x53ded0
53775a:	8b 77 08             	mov    0x8(%edi),%esi
53775d:	83 c4 14             	add    $0x14,%esp
537760:	85 f6                	test   %esi,%esi
537762:	75 24                	jne    0x537788
537764:	39 77 74             	cmp    %esi,0x74(%edi)
537767:	75 0c                	jne    0x537775
537769:	8b 07                	mov    (%edi),%eax
53776b:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
53776f:	75 04                	jne    0x537775
537771:	c6 47 17 01          	movb   $0x1,0x17(%edi)
537775:	57                   	push   %edi
537776:	e8 95 ac 00 00       	call   0x542410
53777b:	8b f0                	mov    %eax,%esi
53777d:	83 c4 04             	add    $0x4,%esp
537780:	85 f6                	test   %esi,%esi
537782:	0f 84 20 03 00 00    	je     0x537aa8
537788:	8b 45 10             	mov    0x10(%ebp),%eax
53778b:	85 c0                	test   %eax,%eax
53778d:	78 08                	js     0x537797
53778f:	89 45 f0             	mov    %eax,-0x10(%ebp)
537792:	8b 45 0c             	mov    0xc(%ebp),%eax
537795:	eb 09                	jmp    0x5377a0
537797:	8b 45 0c             	mov    0xc(%ebp),%eax
53779a:	8b 48 2c             	mov    0x2c(%eax),%ecx
53779d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5377a0:	50                   	push   %eax
5377a1:	57                   	push   %edi
5377a2:	e8 59 85 ff ff       	call   0x52fd00
5377a7:	8b 57 28             	mov    0x28(%edi),%edx
5377aa:	83 c4 08             	add    $0x8,%esp
5377ad:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5377b0:	89 55 fc             	mov    %edx,-0x4(%ebp)
5377b3:	8d 4a 01             	lea    0x1(%edx),%ecx
5377b6:	89 4f 28             	mov    %ecx,0x28(%edi)
5377b9:	85 c0                	test   %eax,%eax
5377bb:	74 02                	je     0x5377bf
5377bd:	ff 00                	incl   (%eax)
5377bf:	6a f7                	push   $0xfffffff7
5377c1:	50                   	push   %eax
5377c2:	8b 45 0c             	mov    0xc(%ebp),%eax
5377c5:	0f b7 40 32          	movzwl 0x32(%eax),%eax
5377c9:	50                   	push   %eax
5377ca:	6a 00                	push   $0x0
5377cc:	52                   	push   %edx
5377cd:	6a 6f                	push   $0x6f
5377cf:	56                   	push   %esi
5377d0:	e8 bb a3 00 00       	call   0x541b90
5377d5:	8b 45 ec             	mov    -0x14(%ebp),%eax
5377d8:	6a 60                	push   $0x60
5377da:	50                   	push   %eax
5377db:	53                   	push   %ebx
5377dc:	ff 75 f4             	push   -0xc(%ebp)
5377df:	57                   	push   %edi
5377e0:	e8 6b a1 ff ff       	call   0x531950
5377e5:	6a 00                	push   $0x0
5377e7:	ff 75 f4             	push   -0xc(%ebp)
5377ea:	6a 25                	push   $0x25
5377ec:	56                   	push   %esi
5377ed:	e8 ee a2 00 00       	call   0x541ae0
5377f2:	8a 4f 13             	mov    0x13(%edi),%cl
5377f5:	83 c4 40             	add    $0x40,%esp
5377f8:	89 45 ec             	mov    %eax,-0x14(%ebp)
5377fb:	84 c9                	test   %cl,%cl
5377fd:	75 08                	jne    0x537807
5377ff:	ff 47 2c             	incl   0x2c(%edi)
537802:	8b 57 2c             	mov    0x2c(%edi),%edx
537805:	eb 0f                	jmp    0x537816
537807:	fe c9                	dec    %cl
537809:	0f b6 c1             	movzbl %cl,%eax
53780c:	88 4f 13             	mov    %cl,0x13(%edi)
53780f:	8b 94 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%edx
537816:	8b 47 74             	mov    0x74(%edi),%eax
537819:	8b cf                	mov    %edi,%ecx
53781b:	6a 00                	push   $0x0
53781d:	85 c0                	test   %eax,%eax
53781f:	89 55 08             	mov    %edx,0x8(%ebp)
537822:	6a 00                	push   $0x0
537824:	0f 45 c8             	cmovne %eax,%ecx
537827:	8d 45 e8             	lea    -0x18(%ebp),%eax
53782a:	50                   	push   %eax
53782b:	6a 00                	push   $0x0
53782d:	52                   	push   %edx
53782e:	ff 75 f4             	push   -0xc(%ebp)
537831:	c6 41 14 01          	movb   $0x1,0x14(%ecx)
537835:	ff 75 0c             	push   0xc(%ebp)
537838:	57                   	push   %edi
537839:	e8 12 4d ff ff       	call   0x52c550
53783e:	ff 75 08             	push   0x8(%ebp)
537841:	8b 55 fc             	mov    -0x4(%ebp),%edx
537844:	52                   	push   %edx
537845:	68 82 00 00 00       	push   $0x82
53784a:	56                   	push   %esi
53784b:	e8 90 a2 00 00       	call   0x541ae0
537850:	8b 55 e8             	mov    -0x18(%ebp),%edx
537853:	83 c4 30             	add    $0x30,%esp
537856:	85 d2                	test   %edx,%edx
537858:	74 29                	je     0x537883
53785a:	8b 47 08             	mov    0x8(%edi),%eax
53785d:	f7 d2                	not    %edx
53785f:	8b 48 0c             	mov    0xc(%eax),%ecx
537862:	8b 41 3c             	mov    0x3c(%ecx),%eax
537865:	03 41 38             	add    0x38(%ecx),%eax
537868:	8b 47 08             	mov    0x8(%edi),%eax
53786b:	79 0d                	jns    0x53787a
53786d:	52                   	push   %edx
53786e:	50                   	push   %eax
53786f:	51                   	push   %ecx
537870:	e8 2b bf fd ff       	call   0x5137a0
537875:	83 c4 0c             	add    $0xc,%esp
537878:	eb 09                	jmp    0x537883
53787a:	8b 49 40             	mov    0x40(%ecx),%ecx
53787d:	8b 40 6c             	mov    0x6c(%eax),%eax
537880:	89 04 91             	mov    %eax,(%ecx,%edx,4)
537883:	8b 45 ec             	mov    -0x14(%ebp),%eax
537886:	40                   	inc    %eax
537887:	50                   	push   %eax
537888:	ff 75 f4             	push   -0xc(%ebp)
53788b:	6a 05                	push   $0x5
53788d:	56                   	push   %esi
53788e:	e8 4d a2 00 00       	call   0x541ae0
537893:	8b 4d ec             	mov    -0x14(%ebp),%ecx
537896:	83 c4 10             	add    $0x10,%esp
537899:	8b 56 6c             	mov    0x6c(%esi),%edx
53789c:	85 c9                	test   %ecx,%ecx
53789e:	79 03                	jns    0x5378a3
5378a0:	8d 4a ff             	lea    -0x1(%edx),%ecx
5378a3:	8b 06                	mov    (%esi),%eax
5378a5:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5378a9:	74 07                	je     0x5378b2
5378ab:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5378b0:	eb 09                	jmp    0x5378bb
5378b2:	8b 46 68             	mov    0x68(%esi),%eax
5378b5:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5378b8:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5378bb:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5378bf:	89 50 08             	mov    %edx,0x8(%eax)
5378c2:	7d 12                	jge    0x5378d6
5378c4:	53                   	push   %ebx
5378c5:	ff 75 f0             	push   -0x10(%ebp)
5378c8:	68 89 00 00 00       	push   $0x89
5378cd:	56                   	push   %esi
5378ce:	e8 0d a2 00 00       	call   0x541ae0
5378d3:	83 c4 10             	add    $0x10,%esp
5378d6:	6a f7                	push   $0xfffffff7
5378d8:	ff 75 e4             	push   -0x1c(%ebp)
5378db:	53                   	push   %ebx
5378dc:	ff 75 f0             	push   -0x10(%ebp)
5378df:	ff 75 f8             	push   -0x8(%ebp)
5378e2:	6a 61                	push   $0x61
5378e4:	56                   	push   %esi
5378e5:	e8 a6 a2 00 00       	call   0x541b90
5378ea:	8b 46 6c             	mov    0x6c(%esi),%eax
5378ed:	83 c4 1c             	add    $0x1c,%esp
5378f0:	85 c0                	test   %eax,%eax
5378f2:	7e 1c                	jle    0x537910
5378f4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5378f8:	b9 11 00 00 00       	mov    $0x11,%ecx
5378fd:	ba 01 00 00 00       	mov    $0x1,%edx
537902:	0f 4d d1             	cmovge %ecx,%edx
537905:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
537908:	8b 46 68             	mov    0x68(%esi),%eax
53790b:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
537910:	6a 00                	push   $0x0
537912:	ff 75 fc             	push   -0x4(%ebp)
537915:	6a 23                	push   $0x23
537917:	56                   	push   %esi
537918:	e8 c3 a1 00 00       	call   0x541ae0
53791d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
537920:	83 c4 10             	add    $0x10,%esp
537923:	89 45 e8             	mov    %eax,-0x18(%ebp)
537926:	80 7b 36 00          	cmpb   $0x0,0x36(%ebx)
53792a:	74 5f                	je     0x53798b
53792c:	6a 01                	push   $0x1
53792e:	56                   	push   %esi
53792f:	e8 6c 27 01 00       	call   0x54a0a0
537934:	8b 4e 6c             	mov    0x6c(%esi),%ecx
537937:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53793a:	0f b7 4b 32          	movzwl 0x32(%ebx),%ecx
53793e:	51                   	push   %ecx
53793f:	ff 75 08             	push   0x8(%ebp)
537942:	89 45 e4             	mov    %eax,-0x1c(%ebp)
537945:	50                   	push   %eax
537946:	ff 75 fc             	push   -0x4(%ebp)
537949:	6a 7c                	push   $0x7c
53794b:	56                   	push   %esi
53794c:	e8 bf a2 00 00       	call   0x541c10
537951:	53                   	push   %ebx
537952:	6a 02                	push   $0x2
537954:	57                   	push   %edi
537955:	e8 26 6e 00 00       	call   0x53e780
53795a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
53795d:	83 c4 2c             	add    $0x2c,%esp
537960:	8b 56 6c             	mov    0x6c(%esi),%edx
537963:	85 c9                	test   %ecx,%ecx
537965:	79 03                	jns    0x53796a
537967:	8d 4a ff             	lea    -0x1(%edx),%ecx
53796a:	8b 06                	mov    (%esi),%eax
53796c:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
537970:	74 0a                	je     0x53797c
537972:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
537977:	89 50 08             	mov    %edx,0x8(%eax)
53797a:	eb 23                	jmp    0x53799f
53797c:	8b 46 68             	mov    0x68(%esi),%eax
53797f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
537982:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
537986:	8d 04 88             	lea    (%eax,%ecx,4),%eax
537989:	eb 14                	jmp    0x53799f
53798b:	8b 47 74             	mov    0x74(%edi),%eax
53798e:	8b cf                	mov    %edi,%ecx
537990:	85 c0                	test   %eax,%eax
537992:	0f 45 c8             	cmovne %eax,%ecx
537995:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
537999:	8b 46 6c             	mov    0x6c(%esi),%eax
53799c:	89 45 0c             	mov    %eax,0xc(%ebp)
53799f:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5379a2:	39 4e 70             	cmp    %ecx,0x70(%esi)
5379a5:	7f 19                	jg     0x5379c0
5379a7:	ff 75 f8             	push   -0x8(%ebp)
5379aa:	ff 75 08             	push   0x8(%ebp)
5379ad:	ff 75 fc             	push   -0x4(%ebp)
5379b0:	6a 7d                	push   $0x7d
5379b2:	56                   	push   %esi
5379b3:	e8 48 eb fc ff       	call   0x506500
5379b8:	8b 55 f8             	mov    -0x8(%ebp),%edx
5379bb:	83 c4 14             	add    $0x14,%esp
5379be:	eb 30                	jmp    0x5379f0
5379c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
5379c3:	8d 41 01             	lea    0x1(%ecx),%eax
5379c6:	89 46 6c             	mov    %eax,0x6c(%esi)
5379c9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5379cc:	8b 46 68             	mov    0x68(%esi),%eax
5379cf:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5379d3:	8b 55 08             	mov    0x8(%ebp),%edx
5379d6:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5379da:	8b 55 f8             	mov    -0x8(%ebp),%edx
5379dd:	c7 04 88 7d 00 00 00 	movl   $0x7d,(%eax,%ecx,4)
5379e4:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5379e8:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5379ef:	00
5379f0:	f7 43 38 00 02 00 00 	testl  $0x200,0x38(%ebx)
5379f7:	75 0f                	jne    0x537a08
5379f9:	52                   	push   %edx
5379fa:	68 81 00 00 00       	push   $0x81
5379ff:	56                   	push   %esi
537a00:	e8 7b a0 00 00       	call   0x541a80
537a05:	83 c4 0c             	add    $0xc,%esp
537a08:	8b 5d 08             	mov    0x8(%ebp),%ebx
537a0b:	53                   	push   %ebx
537a0c:	ff 75 f8             	push   -0x8(%ebp)
537a0f:	68 83 00 00 00       	push   $0x83
537a14:	56                   	push   %esi
537a15:	e8 c6 a0 00 00       	call   0x541ae0
537a1a:	8b 46 6c             	mov    0x6c(%esi),%eax
537a1d:	83 c4 10             	add    $0x10,%esp
537a20:	85 c0                	test   %eax,%eax
537a22:	7e 10                	jle    0x537a34
537a24:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
537a27:	ba 10 00 00 00       	mov    $0x10,%edx
537a2c:	8b 46 68             	mov    0x68(%esi),%eax
537a2f:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
537a34:	85 db                	test   %ebx,%ebx
537a36:	74 14                	je     0x537a4c
537a38:	8a 47 13             	mov    0x13(%edi),%al
537a3b:	3c 08                	cmp    $0x8,%al