412652:	7e 12                	jle    0x412666
412654:	8b 50 14             	mov    0x14(%eax),%edx
412657:	ff 40 14             	incl   0x14(%eax)
41265a:	8b 48 08             	mov    0x8(%eax),%ecx
41265d:	8a 98 b0 16 00 00    	mov    0x16b0(%eax),%bl
412663:	88 1c 11             	mov    %bl,(%ecx,%edx,1)
412666:	66 c7 80 b0 16 00 00 	movw   $0x0,0x16b0(%eax)
41266d:	00 00
41266f:	33 d2                	xor    %edx,%edx
412671:	89 90 b4 16 00 00    	mov    %edx,0x16b4(%eax)
412677:	5b                   	pop    %ebx
412678:	c3                   	ret
412679:	90                   	nop
41267a:	90                   	nop
41267b:	90                   	nop
41267c:	55                   	push   %ebp
41267d:	8b ec                	mov    %esp,%ebp
41267f:	53                   	push   %ebx
412680:	56                   	push   %esi
412681:	57                   	push   %edi
412682:	8b f9                	mov    %ecx,%edi
412684:	8b f2                	mov    %edx,%esi
412686:	8b d8                	mov    %eax,%ebx
412688:	8b c3                	mov    %ebx,%eax
41268a:	e8 85 ff ff ff       	call   0x412614
41268f:	c7 83 ac 16 00 00 08 	movl   $0x8,0x16ac(%ebx)
412696:	00 00 00
412699:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41269d:	74 69                	je     0x412708
41269f:	8b 53 14             	mov    0x14(%ebx),%edx
4126a2:	8b c7                	mov    %edi,%eax
4126a4:	ff 43 14             	incl   0x14(%ebx)
4126a7:	8b 4b 08             	mov    0x8(%ebx),%ecx
4126aa:	8d 14 11             	lea    (%ecx,%edx,1),%edx
4126ad:	8b c8                	mov    %eax,%ecx
4126af:	52                   	push   %edx
4126b0:	80 e1 ff             	and    $0xff,%cl
4126b3:	5a                   	pop    %edx
4126b4:	f6 d0                	not    %al
4126b6:	88 0a                	mov    %cl,(%edx)
4126b8:	24 ff                	and    $0xff,%al
4126ba:	8b 4b 14             	mov    0x14(%ebx),%ecx
4126bd:	ff 43 14             	incl   0x14(%ebx)
4126c0:	8b 53 08             	mov    0x8(%ebx),%edx
4126c3:	8d 0c 0a             	lea    (%edx,%ecx,1),%ecx
4126c6:	0f b7 d7             	movzwl %di,%edx
4126c9:	51                   	push   %ecx
4126ca:	59                   	pop    %ecx
4126cb:	c1 fa 08             	sar    $0x8,%edx
4126ce:	88 11                	mov    %dl,(%ecx)
4126d0:	8b 53 14             	mov    0x14(%ebx),%edx
4126d3:	ff 43 14             	incl   0x14(%ebx)
4126d6:	8b 4b 08             	mov    0x8(%ebx),%ecx
4126d9:	8d 14 11             	lea    (%ecx,%edx,1),%edx
4126dc:	52                   	push   %edx
4126dd:	59                   	pop    %ecx
4126de:	88 01                	mov    %al,(%ecx)
4126e0:	8b cf                	mov    %edi,%ecx
4126e2:	66 f7 d1             	not    %cx
4126e5:	0f b7 c9             	movzwl %cx,%ecx
4126e8:	8b 43 14             	mov    0x14(%ebx),%eax
4126eb:	ff 43 14             	incl   0x14(%ebx)
4126ee:	8b 53 08             	mov    0x8(%ebx),%edx
4126f1:	c1 f9 08             	sar    $0x8,%ecx
4126f4:	88 0c 02             	mov    %cl,(%edx,%eax,1)
4126f7:	eb 0f                	jmp    0x412708
4126f9:	8b 43 14             	mov    0x14(%ebx),%eax
4126fc:	ff 43 14             	incl   0x14(%ebx)
4126ff:	8b 53 08             	mov    0x8(%ebx),%edx
412702:	8a 0e                	mov    (%esi),%cl
412704:	88 0c 02             	mov    %cl,(%edx,%eax,1)
412707:	46                   	inc    %esi
412708:	8b c7                	mov    %edi,%eax
41270a:	83 c7 ff             	add    $0xffffffff,%edi
41270d:	85 c0                	test   %eax,%eax
41270f:	75 e8                	jne    0x4126f9
412711:	5f                   	pop    %edi
412712:	5e                   	pop    %esi
412713:	5b                   	pop    %ebx
412714:	5d                   	pop    %ebp
412715:	c2 04 00             	ret    $0x4
412718:	85 c0                	test   %eax,%eax
41271a:	74 06                	je     0x412722
41271c:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
412720:	75 06                	jne    0x412728
412722:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
412727:	c3                   	ret
412728:	33 d2                	xor    %edx,%edx
41272a:	33 c9                	xor    %ecx,%ecx
41272c:	89 50 14             	mov    %edx,0x14(%eax)
41272f:	89 50 08             	mov    %edx,0x8(%eax)
412732:	89 48 18             	mov    %ecx,0x18(%eax)
412735:	8b 48 1c             	mov    0x1c(%eax),%ecx
412738:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
41273c:	74 07                	je     0x412745
41273e:	b9 07 00 00 00       	mov    $0x7,%ecx
412743:	eb 02                	jmp    0x412747
412745:	33 c9                	xor    %ecx,%ecx
412747:	8b 50 1c             	mov    0x1c(%eax),%edx
41274a:	89 0a                	mov    %ecx,(%edx)
41274c:	8b 52 14             	mov    0x14(%edx),%edx
41274f:	33 c9                	xor    %ecx,%ecx
412751:	92                   	xchg   %eax,%edx
412752:	e8 bd 0e 00 00       	call   0x413614
412757:	33 c0                	xor    %eax,%eax
412759:	c3                   	ret
41275a:	90                   	nop
41275b:	90                   	nop
41275c:	53                   	push   %ebx
41275d:	8b d8                	mov    %eax,%ebx
41275f:	85 db                	test   %ebx,%ebx
412761:	74 0c                	je     0x41276f
412763:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
412767:	74 06                	je     0x41276f
412769:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
41276d:	75 07                	jne    0x412776
41276f:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
412774:	5b                   	pop    %ebx
412775:	c3                   	ret
412776:	8b 53 1c             	mov    0x1c(%ebx),%edx
412779:	8b 42 14             	mov    0x14(%edx),%eax
41277c:	85 c0                	test   %eax,%eax
41277e:	74 07                	je     0x412787
412780:	8b d3                	mov    %ebx,%edx
412782:	e8 61 1c 00 00       	call   0x4143e8
412787:	8b 53 1c             	mov    0x1c(%ebx),%edx
41278a:	8b 43 28             	mov    0x28(%ebx),%eax
41278d:	ff 53 24             	call   *0x24(%ebx)
412790:	33 c9                	xor    %ecx,%ecx
412792:	33 c0                	xor    %eax,%eax
412794:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
412797:	5b                   	pop    %ebx
412798:	c3                   	ret
412799:	90                   	nop
41279a:	90                   	nop
41279b:	90                   	nop
41279c:	55                   	push   %ebp
41279d:	8b ec                	mov    %esp,%ebp
41279f:	51                   	push   %ecx
4127a0:	53                   	push   %ebx
4127a1:	56                   	push   %esi
4127a2:	57                   	push   %edi
4127a3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4127a6:	8b f2                	mov    %edx,%esi
4127a8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4127ac:	8b d8                	mov    %eax,%ebx
4127ae:	74 13                	je     0x4127c3
4127b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4127b3:	8a 10                	mov    (%eax),%dl
4127b5:	3a 15 e4 6f 42 00    	cmp    0x426fe4,%dl
4127bb:	75 06                	jne    0x4127c3
4127bd:	83 7d 08 38          	cmpl   $0x38,0x8(%ebp)
4127c1:	74 0a                	je     0x4127cd
4127c3:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
4127c8:	e9 d3 00 00 00       	jmp    0x4128a0
4127cd:	85 db                	test   %ebx,%ebx
4127cf:	75 0a                	jne    0x4127db
4127d1:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4127d6:	e9 c5 00 00 00       	jmp    0x4128a0
4127db:	33 d2                	xor    %edx,%edx
4127dd:	89 53 18             	mov    %edx,0x18(%ebx)
4127e0:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
4127e4:	75 0c                	jne    0x4127f2
4127e6:	c7 43 20 b8 f3 40 00 	movl   $0x40f3b8,0x20(%ebx)
4127ed:	33 c9                	xor    %ecx,%ecx
4127ef:	89 4b 28             	mov    %ecx,0x28(%ebx)
4127f2:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
4127f6:	75 07                	jne    0x4127ff
4127f8:	c7 43 24 c4 f3 40 00 	movl   $0x40f3c4,0x24(%ebx)
4127ff:	b9 18 00 00 00       	mov    $0x18,%ecx
412804:	ba 01 00 00 00       	mov    $0x1,%edx
412809:	8b 43 28             	mov    0x28(%ebx),%eax
41280c:	ff 53 20             	call   *0x20(%ebx)
41280f:	89 43 1c             	mov    %eax,0x1c(%ebx)
412812:	85 c0                	test   %eax,%eax
412814:	75 0a                	jne    0x412820
412816:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
41281b:	e9 80 00 00 00       	jmp    0x4128a0
412820:	8b 53 1c             	mov    0x1c(%ebx),%edx
412823:	33 c9                	xor    %ecx,%ecx
412825:	89 4a 14             	mov    %ecx,0x14(%edx)
412828:	33 d2                	xor    %edx,%edx
41282a:	8b 43 1c             	mov    0x1c(%ebx),%eax
41282d:	85 f6                	test   %esi,%esi
41282f:	89 50 0c             	mov    %edx,0xc(%eax)
412832:	7d 0c                	jge    0x412840
412834:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
412837:	f7 de                	neg    %esi
412839:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
412840:	83 fe 08             	cmp    $0x8,%esi
412843:	7c 05                	jl     0x41284a
412845:	83 fe 0f             	cmp    $0xf,%esi
412848:	7e 0e                	jle    0x412858
41284a:	8b c3                	mov    %ebx,%eax
41284c:	e8 0b ff ff ff       	call   0x41275c
412851:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
412856:	eb 48                	jmp    0x4128a0
412858:	8b ce                	mov    %esi,%ecx
41285a:	b8 01 00 00 00       	mov    $0x1,%eax
41285f:	d3 e0                	shl    %cl,%eax
412861:	8b 7b 1c             	mov    0x1c(%ebx),%edi
412864:	8b c8                	mov    %eax,%ecx
412866:	89 77 10             	mov    %esi,0x10(%edi)
412869:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41286d:	74 04                	je     0x412873
41286f:	33 d2                	xor    %edx,%edx
412871:	eb 05                	jmp    0x412878
412873:	ba e8 34 41 00       	mov    $0x4134e8,%edx
412878:	8b c3                	mov    %ebx,%eax
41287a:	e8 f9 0d 00 00       	call   0x413678
41287f:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
412882:	85 c0                	test   %eax,%eax
412884:	89 41 14             	mov    %eax,0x14(%ecx)
412887:	75 0e                	jne    0x412897
412889:	8b c3                	mov    %ebx,%eax
41288b:	e8 cc fe ff ff       	call   0x41275c
412890:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
412895:	eb 09                	jmp    0x4128a0
412897:	8b c3                	mov    %ebx,%eax
412899:	e8 7a fe ff ff       	call   0x412718
41289e:	33 c0                	xor    %eax,%eax
4128a0:	5f                   	pop    %edi
4128a1:	5e                   	pop    %esi
4128a2:	5b                   	pop    %ebx
4128a3:	59                   	pop    %ecx
4128a4:	5d                   	pop    %ebp
4128a5:	c2 04 00             	ret    $0x4
4128a8:	51                   	push   %ecx
4128a9:	b9 0f 00 00 00       	mov    $0xf,%ecx
4128ae:	87 ca                	xchg   %ecx,%edx
4128b0:	e8 e7 fe ff ff       	call   0x41279c
4128b5:	c3                   	ret
4128b6:	90                   	nop
4128b7:	90                   	nop
4128b8:	53                   	push   %ebx
4128b9:	56                   	push   %esi
4128ba:	57                   	push   %edi
4128bb:	55                   	push   %ebp
4128bc:	8b fa                	mov    %edx,%edi
4128be:	8b d8                	mov    %eax,%ebx
4128c0:	85 db                	test   %ebx,%ebx
4128c2:	74 0b                	je     0x4128cf
4128c4:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
4128c8:	74 05                	je     0x4128cf
4128ca:	83 3b 00             	cmpl   $0x0,(%ebx)
4128cd:	75 0a                	jne    0x4128d9
4128cf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4128d4:	e9 a7 03 00 00       	jmp    0x412c80
4128d9:	83 ff 04             	cmp    $0x4,%edi
4128dc:	75 07                	jne    0x4128e5
4128de:	ba fb ff ff ff       	mov    $0xfffffffb,%edx
4128e3:	eb 02                	jmp    0x4128e7
4128e5:	33 d2                	xor    %edx,%edx
4128e7:	8b fa                	mov    %edx,%edi
4128e9:	be fb ff ff ff       	mov    $0xfffffffb,%esi
4128ee:	8b 43 1c             	mov    0x1c(%ebx),%eax
4128f1:	8b 10                	mov    (%eax),%edx
4128f3:	83 fa 0d             	cmp    $0xd,%edx
4128f6:	0f 87 7f 03 00 00    	ja     0x412c7b
4128fc:	ff 24 95 03 29 41 00 	jmp    *0x412903(,%edx,4)
412903:	3b 29                	cmp    (%ecx),%ebp
412905:	41                   	inc    %ecx
412906:	00 ba 29 41 00 2e    	add    %bh,0x2e004129(%edx)
41290c:	2a 41 00             	sub    0x0(%ecx),%al
41290f:	5c                   	pop    %esp
412910:	2a 41 00             	sub    0x0(%ecx),%al
412913:	8d 2a                	lea    (%edx),%ebp
412915:	41                   	inc    %ecx
412916:	00 be 2a 41 00 fd    	add    %bh,-0x2ffbed6(%esi)
41291c:	2a 41 00             	sub    0x0(%ecx),%al
41291f:	1f                   	pop    %ds
412920:	2b 41 00             	sub    0x0(%ecx),%eax
412923:	8b 2b                	mov    (%ebx),%ebp
412925:	41                   	inc    %ecx
412926:	00 b9 2b 41 00 ea    	add    %bh,-0x15ffbed5(%ecx)
41292c:	2b 41 00             	sub    0x0(%ecx),%eax
41292f:	1b 2c 41             	sbb    (%ecx,%eax,2),%ebp
412932:	00 6d 2c             	add    %ch,0x2c(%ebp)
412935:	41                   	inc    %ecx
412936:	00 74 2c 41          	add    %dh,0x41(%esp,%ebp,1)
41293a:	00 83 7b 04 00 75    	add    %al,0x7500047b(%ebx)
412940:	07                   	pop    %es
412941:	8b c6                	mov    %esi,%eax
412943:	e9 38 03 00 00       	jmp    0x412c80
412948:	8b f7                	mov    %edi,%esi
41294a:	ff 4b 04             	decl   0x4(%ebx)
41294d:	ff 43 08             	incl   0x8(%ebx)
412950:	8b 13                	mov    (%ebx),%edx
412952:	ff 03                	incl   (%ebx)
412954:	8a 0a                	mov    (%edx),%cl
412956:	33 d2                	xor    %edx,%edx
412958:	8a d1                	mov    %cl,%dl
41295a:	8b 43 1c             	mov    0x1c(%ebx),%eax
41295d:	89 50 04             	mov    %edx,0x4(%eax)
412960:	83 e2 0f             	and    $0xf,%edx
412963:	83 fa 08             	cmp    $0x8,%edx
412966:	74 1c                	je     0x412984
412968:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
41296e:	c7 43 18 ea 6f 42 00 	movl   $0x426fea,0x18(%ebx)
412975:	8b 43 1c             	mov    0x1c(%ebx),%eax
412978:	c7 40 04 05 00 00 00 	movl   $0x5,0x4(%eax)
41297f:	e9 6a ff ff ff       	jmp    0x4128ee
412984:	8b 43 1c             	mov    0x1c(%ebx),%eax
412987:	8b 50 04             	mov    0x4(%eax),%edx
41298a:	c1 ea 04             	shr    $0x4,%edx
41298d:	83 c2 08             	add    $0x8,%edx
412990:	3b 50 10             	cmp    0x10(%eax),%edx
412993:	76 1c                	jbe    0x4129b1
412995:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
41299b:	c7 43 18 05 70 42 00 	movl   $0x427005,0x18(%ebx)
4129a2:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4129a5:	c7 41 04 05 00 00 00 	movl   $0x5,0x4(%ecx)
4129ac:	e9 3d ff ff ff       	jmp    0x4128ee
4129b1:	8b 43 1c             	mov    0x1c(%ebx),%eax
4129b4:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4129ba:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4129be:	75 07                	jne    0x4129c7
4129c0:	8b c6                	mov    %esi,%eax
4129c2:	e9 b9 02 00 00       	jmp    0x412c80
4129c7:	ff 4b 04             	decl   0x4(%ebx)
4129ca:	ff 43 08             	incl   0x8(%ebx)
4129cd:	33 d2                	xor    %edx,%edx
4129cf:	8b 03                	mov    (%ebx),%eax
4129d1:	8b f7                	mov    %edi,%esi
4129d3:	ff 03                	incl   (%ebx)
4129d5:	8b 6b 1c             	mov    0x1c(%ebx),%ebp
4129d8:	8a 08                	mov    (%eax),%cl
4129da:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4129e0:	8b 45 04             	mov    0x4(%ebp),%eax
4129e3:	c1 e0 08             	shl    $0x8,%eax
4129e6:	51                   	push   %ecx
4129e7:	03 c1                	add    %ecx,%eax
4129e9:	b9 1f 00 00 00       	mov    $0x1f,%ecx
4129ee:	f7 f1                	div    %ecx
4129f0:	59                   	pop    %ecx
4129f1:	85 d2                	test   %edx,%edx
4129f3:	74 1d                	je     0x412a12
4129f5:	c7 45 00 0d 00 00 00 	movl   $0xd,0x0(%ebp)
4129fc:	c7 43 18 19 70 42 00 	movl   $0x427019,0x18(%ebx)
412a03:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
412a06:	c7 41 04 05 00 00 00 	movl   $0x5,0x4(%ecx)
412a0d:	e9 dc fe ff ff       	jmp    0x4128ee
412a12:	f6 c1 20             	test   $0x20,%cl
412a15:	75 0e                	jne    0x412a25
412a17:	8b 43 1c             	mov    0x1c(%ebx),%eax
412a1a:	c7 00 07 00 00 00    	movl   $0x7,(%eax)
412a20:	e9 c9 fe ff ff       	jmp    0x4128ee
412a25:	8b 53 1c             	mov    0x1c(%ebx),%edx
412a28:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
412a2e:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)