4178b3:	58                   	pop    %eax
4178b4:	66 39 46 48          	cmp    %ax,0x48(%esi)
4178b8:	75 0d                	jne    0x4178c7
4178ba:	89 46 44             	mov    %eax,0x44(%esi)
4178bd:	e8 40 4b 00 00       	call   0x41c402
4178c2:	33 c0                	xor    %eax,%eax
4178c4:	40                   	inc    %eax
4178c5:	eb 3d                	jmp    0x417904
4178c7:	f7 46 50 00 00 02 00 	testl  $0x20000,0x50(%esi)
4178ce:	74 11                	je     0x4178e1
4178d0:	ff 75 08             	push   0x8(%ebp)
4178d3:	e8 45 fb ff ff       	call   0x41741d
4178d8:	84 c0                	test   %al,%al
4178da:	74 05                	je     0x4178e1
4178dc:	6a 02                	push   $0x2
4178de:	58                   	pop    %eax
4178df:	eb 23                	jmp    0x417904
4178e1:	8b ce                	mov    %esi,%ecx
4178e3:	e8 25 04 00 00       	call   0x417d0d
4178e8:	84 c0                	test   %al,%al
4178ea:	74 08                	je     0x4178f4
4178ec:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
4178f0:	75 17                	jne    0x417909
4178f2:	eb ce                	jmp    0x4178c2
4178f4:	8b ce                	mov    %esi,%ecx
4178f6:	e8 b3 fc ff ff       	call   0x4175ae
4178fb:	33 c9                	xor    %ecx,%ecx
4178fd:	84 c0                	test   %al,%al
4178ff:	0f 95 c1             	setne  %cl
417902:	8b c1                	mov    %ecx,%eax
417904:	5e                   	pop    %esi
417905:	5d                   	pop    %ebp
417906:	c2 04 00             	ret    $0x4
417909:	6a 02                	push   $0x2
41790b:	8b ce                	mov    %esi,%ecx
41790d:	e8 36 1d 00 00       	call   0x419648
417912:	cc                   	int3
417913:	55                   	push   %ebp
417914:	8b ec                	mov    %esp,%ebp
417916:	51                   	push   %ecx
417917:	51                   	push   %ecx
417918:	57                   	push   %edi
417919:	8b f9                	mov    %ecx,%edi
41791b:	e8 94 fd ff ff       	call   0x4176b4
417920:	85 c0                	test   %eax,%eax
417922:	0f 84 c5 00 00 00    	je     0x4179ed
417928:	53                   	push   %ebx
417929:	83 f8 02             	cmp    $0x2,%eax
41792c:	0f 84 88 00 00 00    	je     0x4179ba
417932:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
417936:	75 0d                	jne    0x417945
417938:	f7 47 50 00 00 10 00 	testl  $0x100000,0x50(%edi)
41793f:	0f 84 ab 00 00 00    	je     0x4179f0
417945:	83 7f 4c 2d          	cmpl   $0x2d,0x4c(%edi)
417949:	75 5e                	jne    0x4179a9
41794b:	8b cf                	mov    %edi,%ecx
41794d:	e8 82 4a 00 00       	call   0x41c3d4
417952:	8a 5f 44             	mov    0x44(%edi),%bl
417955:	8b cf                	mov    %edi,%ecx
417957:	88 5d fc             	mov    %bl,-0x4(%ebp)
41795a:	e8 55 fd ff ff       	call   0x4176b4
41795f:	85 c0                	test   %eax,%eax
417961:	74 6c                	je     0x4179cf
417963:	83 f8 02             	cmp    $0x2,%eax
417966:	74 63                	je     0x4179cb
417968:	f7 47 40 00 08 00 00 	testl  $0x800,0x40(%edi)
41796f:	74 23                	je     0x417994
417971:	0f b6 47 44          	movzbl 0x44(%edi),%eax
417975:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417978:	50                   	push   %eax
417979:	e8 76 b9 00 00       	call   0x4232f4
41797e:	ff 75 fc             	push   -0x4(%ebp)
417981:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417984:	0f be c0             	movsbl %al,%eax
417987:	89 47 44             	mov    %eax,0x44(%edi)
41798a:	e8 65 b9 00 00       	call   0x4232f4
41798f:	8a d8                	mov    %al,%bl
417991:	88 5d fc             	mov    %bl,-0x4(%ebp)
417994:	8a 47 44             	mov    0x44(%edi),%al
417997:	3a c3                	cmp    %bl,%al
417999:	72 30                	jb     0x4179cb
41799b:	50                   	push   %eax
41799c:	ff 75 fc             	push   -0x4(%ebp)
41799f:	8d 4f 24             	lea    0x24(%edi),%ecx
4179a2:	e8 9a de ff ff       	call   0x415841
4179a7:	eb 11                	jmp    0x4179ba
4179a9:	8a 47 44             	mov    0x44(%edi),%al
4179ac:	8d 4f 24             	lea    0x24(%edi),%ecx
4179af:	88 45 f8             	mov    %al,-0x8(%ebp)
4179b2:	ff 75 f8             	push   -0x8(%ebp)
4179b5:	e8 13 da ff ff       	call   0x4153cd
4179ba:	8b cf                	mov    %edi,%ecx
4179bc:	e8 f3 fc ff ff       	call   0x4176b4
4179c1:	85 c0                	test   %eax,%eax
4179c3:	0f 85 60 ff ff ff    	jne    0x417929
4179c9:	eb 21                	jmp    0x4179ec
4179cb:	6a 08                	push   $0x8
4179cd:	eb 23                	jmp    0x4179f2
4179cf:	8a 47 44             	mov    0x44(%edi),%al
4179d2:	8d 4f 24             	lea    0x24(%edi),%ecx
4179d5:	56                   	push   %esi
4179d6:	88 45 f8             	mov    %al,-0x8(%ebp)
4179d9:	ff 75 f8             	push   -0x8(%ebp)
4179dc:	e8 ec d9 ff ff       	call   0x4153cd
4179e1:	6a 2d                	push   $0x2d
4179e3:	8d 4f 24             	lea    0x24(%edi),%ecx
4179e6:	e8 e2 d9 ff ff       	call   0x4153cd
4179eb:	5e                   	pop    %esi
4179ec:	5b                   	pop    %ebx
4179ed:	5f                   	pop    %edi
4179ee:	c9                   	leave
4179ef:	c3                   	ret
4179f0:	6a 02                	push   $0x2
4179f2:	8b cf                	mov    %edi,%ecx
4179f4:	e8 43 1c 00 00       	call   0x41963c
4179f9:	cc                   	int3
4179fa:	57                   	push   %edi
4179fb:	8b f9                	mov    %ecx,%edi
4179fd:	e8 70 fd ff ff       	call   0x417772
417a02:	85 c0                	test   %eax,%eax
417a04:	0f 84 b1 00 00 00    	je     0x417abb
417a0a:	56                   	push   %esi
417a0b:	83 f8 02             	cmp    $0x2,%eax
417a0e:	74 7e                	je     0x417a8e
417a10:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
417a14:	75 0d                	jne    0x417a23
417a16:	f7 47 50 00 00 10 00 	testl  $0x100000,0x50(%edi)
417a1d:	0f 84 9a 00 00 00    	je     0x417abd
417a23:	83 7f 4c 2d          	cmpl   $0x2d,0x4c(%edi)
417a27:	75 58                	jne    0x417a81
417a29:	8b cf                	mov    %edi,%ecx
417a2b:	e8 d2 49 00 00       	call   0x41c402
417a30:	0f b7 77 44          	movzwl 0x44(%edi),%esi
417a34:	8b cf                	mov    %edi,%ecx
417a36:	e8 37 fd ff ff       	call   0x417772
417a3b:	85 c0                	test   %eax,%eax
417a3d:	74 64                	je     0x417aa3
417a3f:	83 f8 02             	cmp    $0x2,%eax
417a42:	74 5b                	je     0x417a9f
417a44:	f7 47 40 00 08 00 00 	testl  $0x800,0x40(%edi)
417a4b:	74 1f                	je     0x417a6c
417a4d:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a51:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417a54:	50                   	push   %eax
417a55:	e8 eb b8 00 00       	call   0x423345
417a5a:	8b 4f 3c             	mov    0x3c(%edi),%ecx
417a5d:	0f b7 c0             	movzwl %ax,%eax
417a60:	56                   	push   %esi
417a61:	89 47 44             	mov    %eax,0x44(%edi)
417a64:	e8 dc b8 00 00       	call   0x423345
417a69:	0f b7 f0             	movzwl %ax,%esi
417a6c:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a70:	66 3b c6             	cmp    %si,%ax
417a73:	72 2a                	jb     0x417a9f
417a75:	50                   	push   %eax
417a76:	8d 4f 24             	lea    0x24(%edi),%ecx
417a79:	56                   	push   %esi
417a7a:	e8 e3 de ff ff       	call   0x415962
417a7f:	eb 0d                	jmp    0x417a8e
417a81:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417a85:	8d 4f 24             	lea    0x24(%edi),%ecx
417a88:	50                   	push   %eax
417a89:	e8 42 da ff ff       	call   0x4154d0
417a8e:	8b cf                	mov    %edi,%ecx
417a90:	e8 dd fc ff ff       	call   0x417772
417a95:	85 c0                	test   %eax,%eax
417a97:	0f 85 6e ff ff ff    	jne    0x417a0b
417a9d:	eb 1b                	jmp    0x417aba
417a9f:	6a 08                	push   $0x8
417aa1:	eb 1c                	jmp    0x417abf
417aa3:	0f b7 47 44          	movzwl 0x44(%edi),%eax
417aa7:	8d 4f 24             	lea    0x24(%edi),%ecx
417aaa:	50                   	push   %eax
417aab:	e8 20 da ff ff       	call   0x4154d0
417ab0:	6a 2d                	push   $0x2d
417ab2:	8d 4f 24             	lea    0x24(%edi),%ecx
417ab5:	e8 95 d9 ff ff       	call   0x41544f
417aba:	5e                   	pop    %esi
417abb:	5f                   	pop    %edi
417abc:	c3                   	ret
417abd:	6a 02                	push   $0x2
417abf:	8b cf                	mov    %edi,%ecx
417ac1:	e8 82 1b 00 00       	call   0x419648
417ac6:	cc                   	int3
417ac7:	6a 10                	push   $0x10
417ac9:	b8 d3 f2 48 00       	mov    $0x48f2d3,%eax
417ace:	e8 e2 7f 02 00       	call   0x43fab5
417ad3:	8b f1                	mov    %ecx,%esi
417ad5:	89 75 e8             	mov    %esi,-0x18(%ebp)
417ad8:	33 ff                	xor    %edi,%edi
417ada:	89 7d fc             	mov    %edi,-0x4(%ebp)
417add:	8d 5e 24             	lea    0x24(%esi),%ebx
417ae0:	57                   	push   %edi
417ae1:	8b cb                	mov    %ebx,%ecx
417ae3:	e8 c6 eb ff ff       	call   0x4166ae
417ae8:	89 45 ec             	mov    %eax,-0x14(%ebp)
417aeb:	8b ce                	mov    %esi,%ecx
417aed:	e8 40 04 00 00       	call   0x417f32
417af2:	8b 0e                	mov    (%esi),%ecx
417af4:	3b 4e 08             	cmp    0x8(%esi),%ecx
417af7:	75 50                	jne    0x417b49
417af9:	ff 75 ec             	push   -0x14(%ebp)
417afc:	8b cb                	mov    %ebx,%ecx
417afe:	e8 8e 19 00 00       	call   0x419491
417b03:	6a 15                	push   $0x15
417b05:	8b cb                	mov    %ebx,%ecx
417b07:	e8 2a 48 00 00       	call   0x41c336
417b0c:	8b 1b                	mov    (%ebx),%ebx
417b0e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
417b11:	8b 46 40             	mov    0x40(%esi),%eax
417b14:	89 43 14             	mov    %eax,0x14(%ebx)
417b17:	8b 4e 0c             	mov    0xc(%esi),%ecx
417b1a:	41                   	inc    %ecx
417b1b:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
417b1e:	57                   	push   %edi
417b1f:	57                   	push   %edi
417b20:	53                   	push   %ebx
417b21:	e8 8a f3 ff ff       	call   0x416eb0
417b26:	83 c4 0c             	add    $0xc,%esp
417b29:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
417b2d:	8b c3                	mov    %ebx,%eax
417b2f:	e8 df 7e 02 00       	call   0x43fa13
417b34:	c3                   	ret
417b35:	8b 4d e8             	mov    -0x18(%ebp),%ecx
417b38:	8d 49 24             	lea    0x24(%ecx),%ecx
417b3b:	e8 cc 03 00 00       	call   0x417f0c
417b40:	33 ff                	xor    %edi,%edi
417b42:	57                   	push   %edi
417b43:	57                   	push   %edi
417b44:	e8 79 c6 02 00       	call   0x4441c2
417b49:	6a 0e                	push   $0xe
417b4b:	8b ce                	mov    %esi,%ecx
417b4d:	e8 ea 1a 00 00       	call   0x41963c
417b52:	cc                   	int3
417b53:	6a 10                	push   $0x10
417b55:	b8 ee f2 48 00       	mov    $0x48f2ee,%eax
417b5a:	e8 56 7f 02 00       	call   0x43fab5
417b5f:	8b f1                	mov    %ecx,%esi
417b61:	89 75 e8             	mov    %esi,-0x18(%ebp)
417b64:	33 ff                	xor    %edi,%edi
417b66:	89 7d fc             	mov    %edi,-0x4(%ebp)
417b69:	8d 5e 24             	lea    0x24(%esi),%ebx
417b6c:	57                   	push   %edi
417b6d:	8b cb                	mov    %ebx,%ecx
417b6f:	e8 7c eb ff ff       	call   0x4166f0
417b74:	89 45 ec             	mov    %eax,-0x14(%ebp)
417b77:	8b ce                	mov    %esi,%ecx
417b79:	e8 2e 04 00 00       	call   0x417fac
417b7e:	8b 0e                	mov    (%esi),%ecx
417b80:	3b 4e 08             	cmp    0x8(%esi),%ecx
417b83:	75 50                	jne    0x417bd5
417b85:	ff 75 ec             	push   -0x14(%ebp)
417b88:	8b cb                	mov    %ebx,%ecx
417b8a:	e8 67 19 00 00       	call   0x4194f6
417b8f:	6a 15                	push   $0x15
417b91:	8b cb                	mov    %ebx,%ecx
417b93:	e8 ed 47 00 00       	call   0x41c385
417b98:	8b 1b                	mov    (%ebx),%ebx
417b9a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
417b9d:	8b 46 40             	mov    0x40(%esi),%eax
417ba0:	89 43 14             	mov    %eax,0x14(%ebx)
417ba3:	8b 4e 0c             	mov    0xc(%esi),%ecx
417ba6:	41                   	inc    %ecx
417ba7:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
417baa:	57                   	push   %edi
417bab:	57                   	push   %edi
417bac:	53                   	push   %ebx
417bad:	e8 fe f2 ff ff       	call   0x416eb0
417bb2:	83 c4 0c             	add    $0xc,%esp
417bb5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
417bb9:	8b c3                	mov    %ebx,%eax
417bbb:	e8 53 7e 02 00       	call   0x43fa13
417bc0:	c3                   	ret
417bc1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
417bc4:	8d 49 24             	lea    0x24(%ecx),%ecx
417bc7:	e8 53 03 00 00       	call   0x417f1f
417bcc:	33 ff                	xor    %edi,%edi
417bce:	57                   	push   %edi
417bcf:	57                   	push   %edi
417bd0:	e8 ed c5 02 00       	call   0x4441c2
417bd5:	6a 0e                	push   $0xe
417bd7:	8b ce                	mov    %esi,%ecx
417bd9:	e8 6a 1a 00 00       	call   0x419648
417bde:	cc                   	int3
417bdf:	55                   	push   %ebp
417be0:	8b ec                	mov    %esp,%ebp
417be2:	51                   	push   %ecx
417be3:	51                   	push   %ecx
417be4:	53                   	push   %ebx
417be5:	56                   	push   %esi
417be6:	8b 75 08             	mov    0x8(%ebp),%esi
417be9:	57                   	push   %edi
417bea:	6a 10                	push   $0x10
417bec:	58                   	pop    %eax
417bed:	8b f9                	mov    %ecx,%edi
417bef:	8b 4e 10             	mov    0x10(%esi),%ecx
417bf2:	89 4d 08             	mov    %ecx,0x8(%ebp)
417bf5:	39 46 14             	cmp    %eax,0x14(%esi)
417bf8:	72 02                	jb     0x417bfc
417bfa:	8b 36                	mov    (%esi),%esi
417bfc:	8d 57 10             	lea    0x10(%edi),%edx
417bff:	89 55 fc             	mov    %edx,-0x4(%ebp)
417c02:	8d 57 14             	lea    0x14(%edi),%edx
417c05:	89 55 f8             	mov    %edx,-0x8(%ebp)
417c08:	3b c8                	cmp    %eax,%ecx
417c0a:	73 05                	jae    0x417c11
417c0c:	6a 0f                	push   $0xf
417c0e:	5b                   	pop    %ebx
417c0f:	eb 21                	jmp    0x417c32
417c11:	8b d9                	mov    %ecx,%ebx
417c13:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
417c18:	83 cb 0f             	or     $0xf,%ebx
417c1b:	3b d8                	cmp    %eax,%ebx
417c1d:	0f 47 d8             	cmova  %eax,%ebx
417c20:	8d 43 01             	lea    0x1(%ebx),%eax
417c23:	50                   	push   %eax
417c24:	e8 5f aa fe ff       	call   0x402688
417c29:	89 07                	mov    %eax,(%edi)
417c2b:	8b f8                	mov    %eax,%edi
417c2d:	8b 45 08             	mov    0x8(%ebp),%eax
417c30:	59                   	pop    %ecx
417c31:	40                   	inc    %eax
417c32:	50                   	push   %eax
417c33:	56                   	push   %esi
417c34:	57                   	push   %edi
417c35:	e8 26 b7 02 00       	call   0x443360
417c3a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
417c3d:	83 c4 0c             	add    $0xc,%esp
417c40:	8b 45 08             	mov    0x8(%ebp),%eax
417c43:	89 01                	mov    %eax,(%ecx)
417c45:	8b 45 f8             	mov    -0x8(%ebp),%eax
417c48:	5f                   	pop    %edi
417c49:	5e                   	pop    %esi
417c4a:	89 18                	mov    %ebx,(%eax)
417c4c:	5b                   	pop    %ebx
417c4d:	c9                   	leave
417c4e:	c2 04 00             	ret    $0x4
417c51:	55                   	push   %ebp
417c52:	8b ec                	mov    %esp,%ebp
417c54:	51                   	push   %ecx
417c55:	51                   	push   %ecx
417c56:	53                   	push   %ebx
417c57:	56                   	push   %esi
417c58:	8b 75 08             	mov    0x8(%ebp),%esi
417c5b:	57                   	push   %edi
417c5c:	8b f9                	mov    %ecx,%edi
417c5e:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
417c62:	8b 46 10             	mov    0x10(%esi),%eax
417c65:	89 45 08             	mov    %eax,0x8(%ebp)
417c68:	72 02                	jb     0x417c6c