421756:	83 c1 02             	add    $0x2,%ecx
421759:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
421760:	75 f1                	jne    0x421753
421762:	2b ca                	sub    %edx,%ecx
421764:	d1 f9                	sar    $1,%ecx
421766:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
421769:	75 1f                	jne    0x42178a
42176b:	89 77 04             	mov    %esi,0x4(%edi)
42176e:	eb 1a                	jmp    0x42178a
421770:	8b 17                	mov    (%edi),%edx
421772:	f6 c2 01             	test   $0x1,%dl
421775:	75 13                	jne    0x42178a
421777:	56                   	push   %esi
421778:	e8 33 03 00 00       	call   0x421ab0
42177d:	59                   	pop    %ecx
42177e:	85 c0                	test   %eax,%eax
421780:	74 08                	je     0x42178a
421782:	83 ca 01             	or     $0x1,%edx
421785:	89 17                	mov    %edx,(%edi)
421787:	89 77 08             	mov    %esi,0x8(%edi)
42178a:	8b 07                	mov    (%edi),%eax
42178c:	b9 00 03 00 00       	mov    $0x300,%ecx
421791:	23 c1                	and    %ecx,%eax
421793:	3b c1                	cmp    %ecx,%eax
421795:	0f 84 ec 00 00 00    	je     0x421887
42179b:	8b 4b 60             	mov    0x60(%ebx),%ecx
42179e:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4217a4:	f7 d9                	neg    %ecx
4217a6:	6a 78                	push   $0x78
4217a8:	1b c9                	sbb    %ecx,%ecx
4217aa:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4217b0:	50                   	push   %eax
4217b1:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4217b7:	51                   	push   %ecx
4217b8:	56                   	push   %esi
4217b9:	ff 15 78 71 42 00    	call   *0x427178
4217bf:	85 c0                	test   %eax,%eax
4217c1:	75 07                	jne    0x4217ca
4217c3:	89 07                	mov    %eax,(%edi)
4217c5:	e9 eb fe ff ff       	jmp    0x4216b5
4217ca:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4217d0:	50                   	push   %eax
4217d1:	ff 73 50             	push   0x50(%ebx)
4217d4:	e8 e3 ce ff ff       	call   0x41e6bc
4217d9:	59                   	pop    %ecx
4217da:	59                   	pop    %ecx
4217db:	85 c0                	test   %eax,%eax
4217dd:	75 68                	jne    0x421847
4217df:	81 0f 00 02 00 00    	orl    $0x200,(%edi)
4217e5:	8b 17                	mov    (%edi),%edx
4217e7:	39 43 60             	cmp    %eax,0x60(%ebx)
4217ea:	74 10                	je     0x4217fc
4217ec:	81 ca 00 01 00 00    	or     $0x100,%edx
4217f2:	89 17                	mov    %edx,(%edi)
4217f4:	39 47 04             	cmp    %eax,0x4(%edi)
4217f7:	e9 86 00 00 00       	jmp    0x421882
4217fc:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4217ff:	74 eb                	je     0x4217ec
421801:	8b 4b 50             	mov    0x50(%ebx),%ecx
421804:	8d 41 02             	lea    0x2(%ecx),%eax
421807:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42180d:	66 8b 01             	mov    (%ecx),%ax
421810:	83 c1 02             	add    $0x2,%ecx
421813:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
42181a:	75 f1                	jne    0x42180d
42181c:	2b 8d 04 ff ff ff    	sub    -0xfc(%ebp),%ecx
421822:	d1 f9                	sar    $1,%ecx
421824:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
421827:	75 1a                	jne    0x421843
421829:	57                   	push   %edi
42182a:	6a 01                	push   $0x1
42182c:	56                   	push   %esi
42182d:	e8 a2 02 00 00       	call   0x421ad4
421832:	83 c4 0c             	add    $0xc,%esp
421835:	85 c0                	test   %eax,%eax
421837:	74 4e                	je     0x421887
421839:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
42183f:	33 c0                	xor    %eax,%eax
421841:	eb b1                	jmp    0x4217f4
421843:	33 c0                	xor    %eax,%eax
421845:	eb a5                	jmp    0x4217ec
421847:	33 c0                	xor    %eax,%eax
421849:	39 43 60             	cmp    %eax,0x60(%ebx)
42184c:	75 39                	jne    0x421887
42184e:	39 43 5c             	cmp    %eax,0x5c(%ebx)
421851:	74 34                	je     0x421887
421853:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
421859:	50                   	push   %eax
42185a:	ff 73 50             	push   0x50(%ebx)
42185d:	e8 5a ce ff ff       	call   0x41e6bc
421862:	59                   	pop    %ecx
421863:	59                   	pop    %ecx
421864:	85 c0                	test   %eax,%eax
421866:	75 1f                	jne    0x421887
421868:	57                   	push   %edi
421869:	33 db                	xor    %ebx,%ebx
42186b:	53                   	push   %ebx
42186c:	56                   	push   %esi
42186d:	e8 62 02 00 00       	call   0x421ad4
421872:	83 c4 0c             	add    $0xc,%esp
421875:	85 c0                	test   %eax,%eax
421877:	74 0e                	je     0x421887
421879:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
42187f:	39 5f 04             	cmp    %ebx,0x4(%edi)
421882:	75 03                	jne    0x421887
421884:	89 77 04             	mov    %esi,0x4(%edi)
421887:	8b 07                	mov    (%edi),%eax
421889:	c1 e8 02             	shr    $0x2,%eax
42188c:	f7 d0                	not    %eax
42188e:	83 e0 01             	and    $0x1,%eax
421891:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421894:	5f                   	pop    %edi
421895:	5e                   	pop    %esi
421896:	33 cd                	xor    %ebp,%ecx
421898:	5b                   	pop    %ebx
421899:	e8 c2 57 fe ff       	call   0x407060
42189e:	8b e5                	mov    %ebp,%esp
4218a0:	5d                   	pop    %ebp
4218a1:	c2 04 00             	ret    $0x4
4218a4:	8b ff                	mov    %edi,%edi
4218a6:	55                   	push   %ebp
4218a7:	8b ec                	mov    %esp,%ebp
4218a9:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4218af:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4218b4:	33 c5                	xor    %ebp,%eax
4218b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4218b9:	53                   	push   %ebx
4218ba:	56                   	push   %esi
4218bb:	8b 75 08             	mov    0x8(%ebp),%esi
4218be:	57                   	push   %edi
4218bf:	e8 98 72 ff ff       	call   0x418b5c
4218c4:	8b d8                	mov    %eax,%ebx
4218c6:	e8 91 72 ff ff       	call   0x418b5c
4218cb:	56                   	push   %esi
4218cc:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
4218d2:	e8 a5 00 00 00       	call   0x42197c
4218d7:	59                   	pop    %ecx
4218d8:	8b 4b 60             	mov    0x60(%ebx),%ecx
4218db:	8b f0                	mov    %eax,%esi
4218dd:	f7 d9                	neg    %ecx
4218df:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4218e5:	6a 78                	push   $0x78
4218e7:	1b c9                	sbb    %ecx,%ecx
4218e9:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4218ef:	50                   	push   %eax
4218f0:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4218f6:	51                   	push   %ecx
4218f7:	56                   	push   %esi
4218f8:	ff 15 78 71 42 00    	call   *0x427178
4218fe:	85 c0                	test   %eax,%eax
421900:	75 05                	jne    0x421907
421902:	21 07                	and    %eax,(%edi)
421904:	40                   	inc    %eax
421905:	eb 62                	jmp    0x421969
421907:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42190d:	50                   	push   %eax
42190e:	ff 73 50             	push   0x50(%ebx)
421911:	e8 a6 cd ff ff       	call   0x41e6bc
421916:	59                   	pop    %ecx
421917:	59                   	pop    %ecx
421918:	85 c0                	test   %eax,%eax
42191a:	75 0a                	jne    0x421926
42191c:	39 43 60             	cmp    %eax,0x60(%ebx)
42191f:	75 35                	jne    0x421956
421921:	57                   	push   %edi
421922:	6a 01                	push   $0x1
421924:	eb 23                	jmp    0x421949
421926:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
42192a:	75 33                	jne    0x42195f
42192c:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
421930:	74 2d                	je     0x42195f
421932:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
421938:	50                   	push   %eax
421939:	ff 73 50             	push   0x50(%ebx)
42193c:	e8 7b cd ff ff       	call   0x41e6bc
421941:	59                   	pop    %ecx
421942:	59                   	pop    %ecx
421943:	85 c0                	test   %eax,%eax
421945:	75 18                	jne    0x42195f
421947:	57                   	push   %edi
421948:	50                   	push   %eax
421949:	56                   	push   %esi
42194a:	e8 85 01 00 00       	call   0x421ad4
42194f:	83 c4 0c             	add    $0xc,%esp
421952:	85 c0                	test   %eax,%eax
421954:	74 09                	je     0x42195f
421956:	83 0f 04             	orl    $0x4,(%edi)
421959:	89 77 04             	mov    %esi,0x4(%edi)
42195c:	89 77 08             	mov    %esi,0x8(%edi)
42195f:	8b 07                	mov    (%edi),%eax
421961:	c1 e8 02             	shr    $0x2,%eax
421964:	f7 d0                	not    %eax
421966:	83 e0 01             	and    $0x1,%eax
421969:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42196c:	5f                   	pop    %edi
42196d:	5e                   	pop    %esi
42196e:	33 cd                	xor    %ebp,%ecx
421970:	5b                   	pop    %ebx
421971:	e8 ea 56 fe ff       	call   0x407060
421976:	8b e5                	mov    %ebp,%esp
421978:	5d                   	pop    %ebp
421979:	c2 04 00             	ret    $0x4
42197c:	8b ff                	mov    %edi,%edi
42197e:	55                   	push   %ebp
42197f:	8b ec                	mov    %esp,%ebp
421981:	8b 55 08             	mov    0x8(%ebp),%edx
421984:	56                   	push   %esi
421985:	33 f6                	xor    %esi,%esi
421987:	0f b7 0a             	movzwl (%edx),%ecx
42198a:	66 85 c9             	test   %cx,%cx
42198d:	74 39                	je     0x4219c8
42198f:	57                   	push   %edi
421990:	6a 05                	push   $0x5
421992:	5f                   	pop    %edi
421993:	8d 41 9f             	lea    -0x61(%ecx),%eax
421996:	8d 52 02             	lea    0x2(%edx),%edx
421999:	66 3b c7             	cmp    %di,%ax
42199c:	77 08                	ja     0x4219a6
42199e:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
4219a4:	eb 0e                	jmp    0x4219b4
4219a6:	8d 41 bf             	lea    -0x41(%ecx),%eax
4219a9:	66 3b c7             	cmp    %di,%ax
4219ac:	77 06                	ja     0x4219b4
4219ae:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
4219b4:	0f b7 c9             	movzwl %cx,%ecx
4219b7:	83 c1 d0             	add    $0xffffffd0,%ecx
4219ba:	c1 e6 04             	shl    $0x4,%esi
4219bd:	03 f1                	add    %ecx,%esi
4219bf:	0f b7 0a             	movzwl (%edx),%ecx
4219c2:	66 85 c9             	test   %cx,%cx
4219c5:	75 cc                	jne    0x421993
4219c7:	5f                   	pop    %edi
4219c8:	8b c6                	mov    %esi,%eax
4219ca:	5e                   	pop    %esi
4219cb:	5d                   	pop    %ebp
4219cc:	c3                   	ret
4219cd:	8b ff                	mov    %edi,%edi
4219cf:	55                   	push   %ebp
4219d0:	8b ec                	mov    %esp,%ebp
4219d2:	51                   	push   %ecx
4219d3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4219d6:	56                   	push   %esi
4219d7:	57                   	push   %edi
4219d8:	85 c9                	test   %ecx,%ecx
4219da:	0f 84 9e 00 00 00    	je     0x421a7e
4219e0:	33 c0                	xor    %eax,%eax
4219e2:	66 39 01             	cmp    %ax,(%ecx)
4219e5:	0f 84 93 00 00 00    	je     0x421a7e
4219eb:	be b8 e6 42 00       	mov    $0x42e6b8,%esi
4219f0:	8b d1                	mov    %ecx,%edx
4219f2:	66 8b 3a             	mov    (%edx),%di
4219f5:	66 3b 3e             	cmp    (%esi),%di
4219f8:	75 1e                	jne    0x421a18
4219fa:	66 85 ff             	test   %di,%di
4219fd:	74 15                	je     0x421a14
4219ff:	66 8b 7a 02          	mov    0x2(%edx),%di
421a03:	66 3b 7e 02          	cmp    0x2(%esi),%di
421a07:	75 0f                	jne    0x421a18
421a09:	83 c2 04             	add    $0x4,%edx
421a0c:	83 c6 04             	add    $0x4,%esi
421a0f:	66 85 ff             	test   %di,%di
421a12:	75 de                	jne    0x4219f2
421a14:	8b d0                	mov    %eax,%edx
421a16:	eb 05                	jmp    0x421a1d
421a18:	1b d2                	sbb    %edx,%edx
421a1a:	83 ca 01             	or     $0x1,%edx
421a1d:	85 d2                	test   %edx,%edx
421a1f:	74 5d                	je     0x421a7e
421a21:	be c0 e6 42 00       	mov    $0x42e6c0,%esi
421a26:	8b d1                	mov    %ecx,%edx
421a28:	66 8b 3a             	mov    (%edx),%di
421a2b:	66 3b 3e             	cmp    (%esi),%di
421a2e:	75 1c                	jne    0x421a4c
421a30:	66 85 ff             	test   %di,%di
421a33:	74 1c                	je     0x421a51
421a35:	66 8b 7a 02          	mov    0x2(%edx),%di
421a39:	66 3b 7e 02          	cmp    0x2(%esi),%di
421a3d:	75 0d                	jne    0x421a4c
421a3f:	83 c2 04             	add    $0x4,%edx
421a42:	83 c6 04             	add    $0x4,%esi
421a45:	66 85 ff             	test   %di,%di
421a48:	75 de                	jne    0x421a28
421a4a:	eb 05                	jmp    0x421a51
421a4c:	1b c0                	sbb    %eax,%eax
421a4e:	83 c8 01             	or     $0x1,%eax
421a51:	85 c0                	test   %eax,%eax
421a53:	75 20                	jne    0x421a75
421a55:	6a 02                	push   $0x2
421a57:	8d 45 fc             	lea    -0x4(%ebp),%eax
421a5a:	50                   	push   %eax
421a5b:	8b 45 0c             	mov    0xc(%ebp),%eax
421a5e:	68 0b 00 00 20       	push   $0x2000000b
421a63:	ff 70 08             	push   0x8(%eax)
421a66:	ff 15 78 71 42 00    	call   *0x427178
421a6c:	85 c0                	test   %eax,%eax
421a6e:	74 29                	je     0x421a99
421a70:	8b 45 fc             	mov    -0x4(%ebp),%eax
421a73:	eb 35                	jmp    0x421aaa
421a75:	51                   	push   %ecx
421a76:	e8 45 6d ff ff       	call   0x4187c0
421a7b:	59                   	pop    %ecx
421a7c:	eb 2c                	jmp    0x421aaa
421a7e:	6a 02                	push   $0x2
421a80:	8d 45 fc             	lea    -0x4(%ebp),%eax
421a83:	50                   	push   %eax
421a84:	8b 45 0c             	mov    0xc(%ebp),%eax
421a87:	68 04 10 00 20       	push   $0x20001004
421a8c:	ff 70 08             	push   0x8(%eax)
421a8f:	ff 15 78 71 42 00    	call   *0x427178
421a95:	85 c0                	test   %eax,%eax
421a97:	75 04                	jne    0x421a9d
421a99:	33 c0                	xor    %eax,%eax
421a9b:	eb 0d                	jmp    0x421aaa
421a9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
421aa0:	85 c0                	test   %eax,%eax
421aa2:	75 06                	jne    0x421aaa
421aa4:	ff 15 ec 71 42 00    	call   *0x4271ec
421aaa:	5f                   	pop    %edi
421aab:	5e                   	pop    %esi
421aac:	8b e5                	mov    %ebp,%esp
421aae:	5d                   	pop    %ebp
421aaf:	c3                   	ret
421ab0:	8b ff                	mov    %edi,%edi
421ab2:	55                   	push   %ebp
421ab3:	8b ec                	mov    %esp,%ebp
421ab5:	8b 4d 08             	mov    0x8(%ebp),%ecx
421ab8:	33 c0                	xor    %eax,%eax
421aba:	66 3b 88 c8 e6 42 00 	cmp    0x42e6c8(%eax),%cx
421ac1:	74 0d                	je     0x421ad0
421ac3:	83 c0 02             	add    $0x2,%eax
421ac6:	83 f8 14             	cmp    $0x14,%eax
421ac9:	72 ef                	jb     0x421aba
421acb:	33 c0                	xor    %eax,%eax
421acd:	40                   	inc    %eax
421ace:	5d                   	pop    %ebp
421acf:	c3                   	ret
421ad0:	33 c0                	xor    %eax,%eax
421ad2:	5d                   	pop    %ebp
421ad3:	c3                   	ret
421ad4:	8b ff                	mov    %edi,%edi
421ad6:	55                   	push   %ebp
421ad7:	8b ec                	mov    %esp,%ebp
421ad9:	51                   	push   %ecx
421ada:	56                   	push   %esi
421adb:	57                   	push   %edi
421adc:	e8 7b 70 ff ff       	call   0x418b5c
421ae1:	8b 75 08             	mov    0x8(%ebp),%esi
421ae4:	8b f8                	mov    %eax,%edi
421ae6:	6a 02                	push   $0x2
421ae8:	8d 45 fc             	lea    -0x4(%ebp),%eax