4207ea:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
4207f0:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4207f6:	53                   	push   %ebx
4207f7:	56                   	push   %esi
4207f8:	57                   	push   %edi
4207f9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4207fc:	33 f6                	xor    %esi,%esi
4207fe:	89 75 f4             	mov    %esi,-0xc(%ebp)
420801:	89 75 f8             	mov    %esi,-0x8(%ebp)
420804:	8b b8 04 00 00 00    	mov    0x4(%eax),%edi
42080a:	8b 45 10             	mov    0x10(%ebp),%eax
42080d:	2b c6                	sub    %esi,%eax
42080f:	74 41                	je     0x420852
420811:	83 e8 01             	sub    $0x1,%eax
420814:	74 32                	je     0x420848
420816:	83 e8 01             	sub    $0x1,%eax
420819:	74 17                	je     0x420832
42081b:	be 57 00 07 80       	mov    $0x80070057,%esi
420820:	68 4c ac 45 00       	push   $0x45ac4c
420825:	56                   	push   %esi
420826:	e8 04 f9 01 00       	call   0x44012f
42082b:	59                   	pop    %ecx
42082c:	59                   	pop    %ecx
42082d:	e9 a9 00 00 00       	jmp    0x4208db
420832:	8b 5f 10             	mov    0x10(%edi),%ebx
420835:	03 5f 08             	add    0x8(%edi),%ebx
420838:	8b 45 0c             	mov    0xc(%ebp),%eax
42083b:	8b 4f 14             	mov    0x14(%edi),%ecx
42083e:	13 4f 0c             	adc    0xc(%edi),%ecx
420841:	99                   	cltd
420842:	03 d8                	add    %eax,%ebx
420844:	13 ca                	adc    %edx,%ecx
420846:	eb 18                	jmp    0x420860
420848:	8b 45 0c             	mov    0xc(%ebp),%eax
42084b:	99                   	cltd
42084c:	8b d8                	mov    %eax,%ebx
42084e:	8b ca                	mov    %edx,%ecx
420850:	eb 0e                	jmp    0x420860
420852:	8b 45 0c             	mov    0xc(%ebp),%eax
420855:	99                   	cltd
420856:	8b d8                	mov    %eax,%ebx
420858:	8b ca                	mov    %edx,%ecx
42085a:	03 5f 08             	add    0x8(%edi),%ebx
42085d:	13 4f 0c             	adc    0xc(%edi),%ecx
420860:	ff 75 10             	push   0x10(%ebp)
420863:	8d 45 f4             	lea    -0xc(%ebp),%eax
420866:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420869:	50                   	push   %eax
42086a:	51                   	push   %ecx
42086b:	53                   	push   %ebx
42086c:	ff 75 08             	push   0x8(%ebp)
42086f:	8d 47 1c             	lea    0x1c(%edi),%eax
420872:	50                   	push   %eax
420873:	e8 57 09 00 00       	call   0x4211cf
420878:	85 c0                	test   %eax,%eax
42087a:	74 59                	je     0x4208d5
42087c:	ff 75 10             	push   0x10(%ebp)
42087f:	8d 45 f4             	lea    -0xc(%ebp),%eax
420882:	50                   	push   %eax
420883:	ff 75 fc             	push   -0x4(%ebp)
420886:	53                   	push   %ebx
420887:	ff 75 08             	push   0x8(%ebp)
42088a:	ff 15 f0 b1 44 00    	call   *0x44b1f0
420890:	85 c0                	test   %eax,%eax
420892:	75 41                	jne    0x4208d5
420894:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42089a:	0f b7 f0             	movzwl %ax,%esi
42089d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4208a3:	85 c0                	test   %eax,%eax
4208a5:	0f 4e f0             	cmovle %eax,%esi
4208a8:	b8 05 40 00 80       	mov    $0x80004005,%eax
4208ad:	85 f6                	test   %esi,%esi
4208af:	0f 49 f0             	cmovns %eax,%esi
4208b2:	56                   	push   %esi
4208b3:	68 45 03 00 00       	push   $0x345
4208b8:	68 b8 a7 45 00       	push   $0x45a7b8
4208bd:	e8 11 2f fe ff       	call   0x4037d3
4208c2:	ff 75 0c             	push   0xc(%ebp)
4208c5:	68 60 ac 45 00       	push   $0x45ac60
4208ca:	56                   	push   %esi
4208cb:	e8 5f f8 01 00       	call   0x44012f
4208d0:	83 c4 0c             	add    $0xc,%esp
4208d3:	eb 06                	jmp    0x4208db
4208d5:	8b 47 08             	mov    0x8(%edi),%eax
4208d8:	29 45 f4             	sub    %eax,-0xc(%ebp)
4208db:	89 77 30             	mov    %esi,0x30(%edi)
4208de:	83 c9 ff             	or     $0xffffffff,%ecx
4208e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4208e4:	85 f6                	test   %esi,%esi
4208e6:	5f                   	pop    %edi
4208e7:	5e                   	pop    %esi
4208e8:	0f 48 c1             	cmovs  %ecx,%eax
4208eb:	5b                   	pop    %ebx
4208ec:	8b e5                	mov    %ebp,%esp
4208ee:	5d                   	pop    %ebp
4208ef:	c3                   	ret
4208f0:	55                   	push   %ebp
4208f1:	8b ec                	mov    %esp,%ebp
4208f3:	51                   	push   %ecx
4208f4:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
4208fa:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
420900:	53                   	push   %ebx
420901:	57                   	push   %edi
420902:	33 ff                	xor    %edi,%edi
420904:	8b 04 88             	mov    (%eax,%ecx,4),%eax
420907:	89 7d fc             	mov    %edi,-0x4(%ebp)
42090a:	8b 98 04 00 00 00    	mov    0x4(%eax),%ebx
420910:	8b 43 2c             	mov    0x2c(%ebx),%eax
420913:	48                   	dec    %eax
420914:	83 e8 01             	sub    $0x1,%eax
420917:	74 38                	je     0x420951
420919:	83 e8 01             	sub    $0x1,%eax
42091c:	74 0c                	je     0x42092a
42091e:	bf 9f 13 07 80       	mov    $0x8007139f,%edi
420923:	68 2c ac 45 00       	push   $0x45ac2c
420928:	eb 72                	jmp    0x42099c
42092a:	8b 43 44             	mov    0x44(%ebx),%eax
42092d:	2b 43 48             	sub    0x48(%ebx),%eax
420930:	56                   	push   %esi
420931:	8b 75 10             	mov    0x10(%ebp),%esi
420934:	56                   	push   %esi
420935:	ff 75 0c             	push   0xc(%ebp)
420938:	50                   	push   %eax
420939:	8b 43 40             	mov    0x40(%ebx),%eax
42093c:	03 43 48             	add    0x48(%ebx),%eax
42093f:	50                   	push   %eax
420940:	e8 1f 0d 00 00       	call   0x421664
420945:	83 c4 10             	add    $0x10,%esp
420948:	01 73 48             	add    %esi,0x48(%ebx)
42094b:	89 75 fc             	mov    %esi,-0x4(%ebp)
42094e:	5e                   	pop    %esi
42094f:	eb 53                	jmp    0x4209a4
420951:	57                   	push   %edi
420952:	8d 45 fc             	lea    -0x4(%ebp),%eax
420955:	50                   	push   %eax
420956:	ff 75 10             	push   0x10(%ebp)
420959:	ff 75 0c             	push   0xc(%ebp)
42095c:	ff 73 3c             	push   0x3c(%ebx)
42095f:	ff 15 30 b1 44 00    	call   *0x44b130
420965:	85 c0                	test   %eax,%eax
420967:	75 3b                	jne    0x4209a4
420969:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42096f:	0f b7 f8             	movzwl %ax,%edi
420972:	81 cf 00 00 07 80    	or     $0x80070000,%edi
420978:	85 c0                	test   %eax,%eax
42097a:	0f 4e f8             	cmovle %eax,%edi
42097d:	b8 05 40 00 80       	mov    $0x80004005,%eax
420982:	85 ff                	test   %edi,%edi
420984:	0f 49 f8             	cmovns %eax,%edi
420987:	57                   	push   %edi
420988:	68 04 03 00 00       	push   $0x304
42098d:	68 b8 a7 45 00       	push   $0x45a7b8
420992:	e8 3c 2e fe ff       	call   0x4037d3
420997:	68 00 ac 45 00       	push   $0x45ac00
42099c:	57                   	push   %edi
42099d:	e8 8d f7 01 00       	call   0x44012f
4209a2:	59                   	pop    %ecx
4209a3:	59                   	pop    %ecx
4209a4:	89 7b 30             	mov    %edi,0x30(%ebx)
4209a7:	83 c9 ff             	or     $0xffffffff,%ecx
4209aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4209ad:	85 ff                	test   %edi,%edi
4209af:	5f                   	pop    %edi
4209b0:	0f 48 c1             	cmovs  %ecx,%eax
4209b3:	5b                   	pop    %ebx
4209b4:	8b e5                	mov    %ebp,%esp
4209b6:	5d                   	pop    %ebp
4209b7:	c3                   	ret
4209b8:	55                   	push   %ebp
4209b9:	8b ec                	mov    %esp,%ebp
4209bb:	83 ec 10             	sub    $0x10,%esp
4209be:	56                   	push   %esi
4209bf:	57                   	push   %edi
4209c0:	8b 7d 08             	mov    0x8(%ebp),%edi
4209c3:	33 f6                	xor    %esi,%esi
4209c5:	89 75 f0             	mov    %esi,-0x10(%ebp)
4209c8:	89 75 f4             	mov    %esi,-0xc(%ebp)
4209cb:	89 75 f8             	mov    %esi,-0x8(%ebp)
4209ce:	8b 47 2c             	mov    0x2c(%edi),%eax
4209d1:	48                   	dec    %eax
4209d2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4209d5:	83 e8 01             	sub    $0x1,%eax
4209d8:	74 3a                	je     0x420a14
4209da:	83 e8 01             	sub    $0x1,%eax
4209dd:	0f 84 80 00 00 00    	je     0x420a63
4209e3:	48                   	dec    %eax
4209e4:	83 e8 01             	sub    $0x1,%eax
4209e7:	74 24                	je     0x420a0d
4209e9:	be 9f 13 07 80       	mov    $0x8007139f,%esi
4209ee:	56                   	push   %esi
4209ef:	68 96 02 00 00       	push   $0x296
4209f4:	68 b8 a7 45 00       	push   $0x45a7b8
4209f9:	e8 d5 2d fe ff       	call   0x4037d3
4209fe:	68 44 aa 45 00       	push   $0x45aa44
420a03:	56                   	push   %esi
420a04:	e8 26 f7 01 00       	call   0x44012f
420a09:	59                   	pop    %ecx
420a0a:	59                   	pop    %ecx
420a0b:	eb 56                	jmp    0x420a63
420a0d:	be 04 40 00 80       	mov    $0x80004004,%esi
420a12:	eb 4f                	jmp    0x420a63
420a14:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420a17:	8d 45 f0             	lea    -0x10(%ebp),%eax
420a1a:	50                   	push   %eax
420a1b:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
420a1f:	50                   	push   %eax
420a20:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
420a24:	50                   	push   %eax
420a25:	ff 15 48 b2 44 00    	call   *0x44b248
420a2b:	85 c0                	test   %eax,%eax
420a2d:	74 21                	je     0x420a50
420a2f:	8d 45 f8             	lea    -0x8(%ebp),%eax
420a32:	50                   	push   %eax
420a33:	8d 45 f0             	lea    -0x10(%ebp),%eax
420a36:	50                   	push   %eax
420a37:	ff 15 44 b2 44 00    	call   *0x44b244
420a3d:	85 c0                	test   %eax,%eax
420a3f:	74 0f                	je     0x420a50
420a41:	8d 45 f8             	lea    -0x8(%ebp),%eax
420a44:	50                   	push   %eax
420a45:	50                   	push   %eax
420a46:	50                   	push   %eax
420a47:	ff 77 3c             	push   0x3c(%edi)
420a4a:	ff 15 40 b2 44 00    	call   *0x44b240
420a50:	83 7f 3c ff          	cmpl   $0xffffffff,0x3c(%edi)
420a54:	74 0d                	je     0x420a63
420a56:	ff 77 3c             	push   0x3c(%edi)
420a59:	ff 15 d4 b0 44 00    	call   *0x44b0d4
420a5f:	83 4f 3c ff          	orl    $0xffffffff,0x3c(%edi)
420a63:	89 77 30             	mov    %esi,0x30(%edi)
420a66:	c1 fe 1f             	sar    $0x1f,%esi
420a69:	83 e6 fe             	and    $0xfffffffe,%esi
420a6c:	5f                   	pop    %edi
420a6d:	8d 46 01             	lea    0x1(%esi),%eax
420a70:	5e                   	pop    %esi
420a71:	8b e5                	mov    %ebp,%esp
420a73:	5d                   	pop    %ebp
420a74:	c2 08 00             	ret    $0x8
420a77:	55                   	push   %ebp
420a78:	8b ec                	mov    %esp,%ebp
420a7a:	51                   	push   %ecx
420a7b:	51                   	push   %ecx
420a7c:	53                   	push   %ebx
420a7d:	56                   	push   %esi
420a7e:	57                   	push   %edi
420a7f:	8b 7d 08             	mov    0x8(%ebp),%edi
420a82:	ff 77 28             	push   0x28(%edi)
420a85:	ff 15 28 b2 44 00    	call   *0x44b228
420a8b:	83 cb ff             	or     $0xffffffff,%ebx
420a8e:	85 c0                	test   %eax,%eax
420a90:	75 38                	jne    0x420aca
420a92:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420a98:	0f b7 f0             	movzwl %ax,%esi
420a9b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
420aa1:	85 c0                	test   %eax,%eax
420aa3:	0f 4e f0             	cmovle %eax,%esi
420aa6:	b8 05 40 00 80       	mov    $0x80004005,%eax
420aab:	85 f6                	test   %esi,%esi
420aad:	0f 49 f0             	cmovns %eax,%esi
420ab0:	56                   	push   %esi
420ab1:	68 04 02 00 00       	push   $0x204
420ab6:	68 b8 a7 45 00       	push   $0x45a7b8
420abb:	e8 13 2d fe ff       	call   0x4037d3
420ac0:	68 c8 a9 45 00       	push   $0x45a9c8
420ac5:	e9 5b 03 00 00       	jmp    0x420e25
420aca:	53                   	push   %ebx
420acb:	ff 77 24             	push   0x24(%edi)
420ace:	ff 15 10 b2 44 00    	call   *0x44b210
420ad4:	3b c3                	cmp    %ebx,%eax
420ad6:	75 38                	jne    0x420b10
420ad8:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420ade:	0f b7 f0             	movzwl %ax,%esi
420ae1:	81 ce 00 00 07 80    	or     $0x80070000,%esi
420ae7:	85 c0                	test   %eax,%eax
420ae9:	0f 4e f0             	cmovle %eax,%esi
420aec:	b8 05 40 00 80       	mov    $0x80004005,%eax
420af1:	85 f6                	test   %esi,%esi
420af3:	0f 49 f0             	cmovns %eax,%esi
420af6:	56                   	push   %esi
420af7:	68 0a 02 00 00       	push   $0x20a
420afc:	68 b8 a7 45 00       	push   $0x45a7b8
420b01:	e8 cd 2c fe ff       	call   0x4037d3
420b06:	68 f0 a9 45 00       	push   $0x45a9f0
420b0b:	e9 15 03 00 00       	jmp    0x420e25
420b10:	ff 77 24             	push   0x24(%edi)
420b13:	ff 15 38 b2 44 00    	call   *0x44b238
420b19:	85 c0                	test   %eax,%eax
420b1b:	75 38                	jne    0x420b55
420b1d:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420b23:	0f b7 f0             	movzwl %ax,%esi
420b26:	81 ce 00 00 07 80    	or     $0x80070000,%esi
420b2c:	85 c0                	test   %eax,%eax
420b2e:	0f 4e f0             	cmovle %eax,%esi
420b31:	b8 05 40 00 80       	mov    $0x80004005,%eax
420b36:	85 f6                	test   %esi,%esi
420b38:	0f 49 f0             	cmovns %eax,%esi
420b3b:	56                   	push   %esi
420b3c:	68 0f 02 00 00       	push   $0x20f
420b41:	68 b8 a7 45 00       	push   $0x45a7b8
420b46:	e8 88 2c fe ff       	call   0x4037d3
420b4b:	68 1c aa 45 00       	push   $0x45aa1c
420b50:	e9 d0 02 00 00       	jmp    0x420e25
420b55:	8b 47 2c             	mov    0x2c(%edi),%eax
420b58:	83 e8 01             	sub    $0x1,%eax
420b5b:	74 39                	je     0x420b96
420b5d:	83 e8 04             	sub    $0x4,%eax
420b60:	74 2a                	je     0x420b8c
420b62:	bb 9f 13 07 80       	mov    $0x8007139f,%ebx
420b67:	53                   	push   %ebx
420b68:	68 1d 02 00 00       	push   $0x21d
420b6d:	68 b8 a7 45 00       	push   $0x45a7b8
420b72:	8b f3                	mov    %ebx,%esi
420b74:	e8 5a 2c fe ff       	call   0x4037d3
420b79:	68 44 aa 45 00       	push   $0x45aa44
420b7e:	53                   	push   %ebx
420b7f:	e8 ab f5 01 00       	call   0x44012f
420b84:	83 cb ff             	or     $0xffffffff,%ebx
420b87:	e9 9f 02 00 00       	jmp    0x420e2b
420b8c:	be 04 40 00 80       	mov    $0x80004004,%esi
420b91:	e9 97 02 00 00       	jmp    0x420e2d
420b96:	8b 45 0c             	mov    0xc(%ebp),%eax
420b99:	68 e9 fd 00 00       	push   $0xfde9
420b9e:	6a 00                	push   $0x0
420ba0:	ff 70 04             	push   0x4(%eax)
420ba3:	ff 77 34             	push   0x34(%edi)
420ba6:	e8 11 16 fe ff       	call   0x4021bc
420bab:	8b f0                	mov    %eax,%esi
420bad:	85 f6                	test   %esi,%esi
420baf:	79 19                	jns    0x420bca
420bb1:	8b 45 0c             	mov    0xc(%ebp),%eax
420bb4:	ff 70 04             	push   0x4(%eax)
420bb7:	68 68 aa 45 00       	push   $0x45aa68
420bbc:	56                   	push   %esi
420bbd:	e8 6d f5 01 00       	call   0x44012f
420bc2:	83 c4 0c             	add    $0xc,%esp
420bc5:	e9 63 02 00 00       	jmp    0x420e2d
420bca:	ff 77 28             	push   0x28(%edi)
420bcd:	ff 15 28 b2 44 00    	call   *0x44b228
420bd3:	85 c0                	test   %eax,%eax
420bd5:	75 29                	jne    0x420c00
420bd7:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420bdd:	0f b7 f0             	movzwl %ax,%esi
420be0:	81 ce 00 00 07 80    	or     $0x80070000,%esi
420be6:	85 c0                	test   %eax,%eax
420be8:	0f 4e f0             	cmovle %eax,%esi
420beb:	b8 05 40 00 80       	mov    $0x80004005,%eax
420bf0:	85 f6                	test   %esi,%esi
420bf2:	0f 49 f0             	cmovns %eax,%esi
420bf5:	56                   	push   %esi
420bf6:	68 27 02 00 00       	push   $0x227