4226ef:	c2 0c 00             	ret    $0xc
4226f2:	8b c0                	mov    %eax,%eax
4226f4:	53                   	push   %ebx
4226f5:	56                   	push   %esi
4226f6:	57                   	push   %edi
4226f7:	51                   	push   %ecx
4226f8:	8b f2                	mov    %edx,%esi
4226fa:	8b d8                	mov    %eax,%ebx
4226fc:	8b d4                	mov    %esp,%edx
4226fe:	b9 04 00 00 00       	mov    $0x4,%ecx
422703:	8b c6                	mov    %esi,%eax
422705:	8b 38                	mov    (%eax),%edi
422707:	ff 57 0c             	call   *0xc(%edi)
42270a:	8b 0c 24             	mov    (%esp),%ecx
42270d:	8b d6                	mov    %esi,%edx
42270f:	8b c3                	mov    %ebx,%eax
422711:	e8 6e 05 00 00       	call   0x422c84
422716:	5a                   	pop    %edx
422717:	5f                   	pop    %edi
422718:	5e                   	pop    %esi
422719:	5b                   	pop    %ebx
42271a:	c3                   	ret
42271b:	90                   	nop
42271c:	55                   	push   %ebp
42271d:	8b ec                	mov    %esp,%ebp
42271f:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
422725:	53                   	push   %ebx
422726:	56                   	push   %esi
422727:	57                   	push   %edi
422728:	8b f1                	mov    %ecx,%esi
42272a:	89 55 f8             	mov    %edx,-0x8(%ebp)
42272d:	89 45 fc             	mov    %eax,-0x4(%ebp)
422730:	33 c0                	xor    %eax,%eax
422732:	89 45 d0             	mov    %eax,-0x30(%ebp)
422735:	33 c0                	xor    %eax,%eax
422737:	89 45 d8             	mov    %eax,-0x28(%ebp)
42273a:	33 c0                	xor    %eax,%eax
42273c:	89 45 c8             	mov    %eax,-0x38(%ebp)
42273f:	8d 55 e0             	lea    -0x20(%ebp),%edx
422742:	b9 04 00 00 00       	mov    $0x4,%ecx
422747:	8b 45 f8             	mov    -0x8(%ebp),%eax
42274a:	8b 18                	mov    (%eax),%ebx
42274c:	ff 53 0c             	call   *0xc(%ebx)
42274f:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
422753:	0f 94 45 df          	sete   -0x21(%ebp)
422757:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42275b:	74 07                	je     0x422764
42275d:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
422764:	8b 45 e0             	mov    -0x20(%ebp),%eax
422767:	83 c0 0c             	add    $0xc,%eax
42276a:	05 00 04 00 00       	add    $0x400,%eax
42276f:	e8 48 ff fd ff       	call   0x4026bc
422774:	89 45 e8             	mov    %eax,-0x18(%ebp)
422777:	8b 45 e8             	mov    -0x18(%ebp),%eax
42277a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
42277d:	33 d2                	xor    %edx,%edx
42277f:	55                   	push   %ebp
422780:	68 39 2c 42 00       	push   $0x422c39
422785:	64 ff 32             	push   %fs:(%edx)
422788:	64 89 22             	mov    %esp,%fs:(%edx)
42278b:	33 d2                	xor    %edx,%edx
42278d:	55                   	push   %ebp
42278e:	68 0c 2c 42 00       	push   $0x422c0c
422793:	64 ff 32             	push   %fs:(%edx)
422796:	64 89 22             	mov    %esp,%fs:(%edx)
422799:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42279d:	74 4c                	je     0x4227eb
42279f:	8d 55 b8             	lea    -0x48(%ebp),%edx
4227a2:	83 c2 04             	add    $0x4,%edx
4227a5:	b9 08 00 00 00       	mov    $0x8,%ecx
4227aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4227ad:	8b 18                	mov    (%eax),%ebx
4227af:	ff 53 0c             	call   *0xc(%ebx)
4227b2:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
4227b5:	8b c3                	mov    %ebx,%eax
4227b7:	33 c9                	xor    %ecx,%ecx
4227b9:	ba 28 00 00 00       	mov    $0x28,%edx
4227be:	e8 c5 04 fe ff       	call   0x402c88
4227c3:	8b c3                	mov    %ebx,%eax
4227c5:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
4227c9:	89 50 04             	mov    %edx,0x4(%eax)
4227cc:	0f b7 55 be          	movzwl -0x42(%ebp),%edx
4227d0:	89 50 08             	mov    %edx,0x8(%eax)
4227d3:	66 8b 55 c0          	mov    -0x40(%ebp),%dx
4227d7:	66 89 50 0c          	mov    %dx,0xc(%eax)
4227db:	66 8b 55 c2          	mov    -0x3e(%ebp),%dx
4227df:	66 89 50 0e          	mov    %dx,0xe(%eax)
4227e3:	83 ee 0c             	sub    $0xc,%esi
4227e6:	e9 cd 00 00 00       	jmp    0x4228b8
4227eb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4227ee:	83 e9 04             	sub    $0x4,%ecx
4227f1:	8b 55 e8             	mov    -0x18(%ebp),%edx
4227f4:	83 c2 04             	add    $0x4,%edx
4227f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4227fa:	8b 18                	mov    (%eax),%ebx
4227fc:	ff 53 0c             	call   *0xc(%ebx)
4227ff:	2b 75 e0             	sub    -0x20(%ebp),%esi
422802:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422805:	8b 40 10             	mov    0x10(%eax),%eax
422808:	83 f8 03             	cmp    $0x3,%eax
42280b:	0f 84 a7 00 00 00    	je     0x4228b8
422811:	85 c0                	test   %eax,%eax
422813:	0f 84 9f 00 00 00    	je     0x4228b8
422819:	b2 01                	mov    $0x1,%dl
42281b:	a1 30 21 41 00       	mov    0x412130,%eax
422820:	e8 17 0a fe ff       	call   0x40323c
422825:	89 45 c8             	mov    %eax,-0x38(%ebp)
422828:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42282c:	75 2f                	jne    0x42285d
42282e:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
422834:	33 c9                	xor    %ecx,%ecx
422836:	ba 0e 00 00 00       	mov    $0xe,%edx
42283b:	e8 48 04 fe ff       	call   0x402c88
422840:	66 c7 85 56 ff ff ff 	movw   $0x4d42,-0xaa(%ebp)
422847:	42 4d
422849:	8b 45 e0             	mov    -0x20(%ebp),%eax
42284c:	03 c6                	add    %esi,%eax
42284e:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
422854:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
42285a:	89 45 08             	mov    %eax,0x8(%ebp)
42285d:	8b 55 08             	mov    0x8(%ebp),%edx
422860:	b9 0e 00 00 00       	mov    $0xe,%ecx
422865:	8b 45 c8             	mov    -0x38(%ebp),%eax
422868:	8b 18                	mov    (%eax),%ebx
42286a:	ff 53 10             	call   *0x10(%ebx)
42286d:	8d 55 e0             	lea    -0x20(%ebp),%edx
422870:	b9 04 00 00 00       	mov    $0x4,%ecx
422875:	8b 45 c8             	mov    -0x38(%ebp),%eax
422878:	8b 18                	mov    (%eax),%ebx
42287a:	ff 53 10             	call   *0x10(%ebx)
42287d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422880:	83 e9 04             	sub    $0x4,%ecx
422883:	8b 55 e8             	mov    -0x18(%ebp),%edx
422886:	83 c2 04             	add    $0x4,%edx
422889:	8b 45 c8             	mov    -0x38(%ebp),%eax
42288c:	8b 18                	mov    (%eax),%ebx
42288e:	ff 53 10             	call   *0x10(%ebx)
422891:	8b c6                	mov    %esi,%eax
422893:	33 d2                	xor    %edx,%edx
422895:	52                   	push   %edx
422896:	50                   	push   %eax
422897:	8b 55 f8             	mov    -0x8(%ebp),%edx
42289a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42289d:	e8 de 33 ff ff       	call   0x415c80
4228a2:	8b d6                	mov    %esi,%edx
4228a4:	f7 da                	neg    %edx
4228a6:	66 b9 02 00          	mov    $0x2,%cx
4228aa:	8b 45 c8             	mov    -0x38(%ebp),%eax
4228ad:	8b 18                	mov    (%eax),%ebx
4228af:	ff 53 14             	call   *0x14(%ebx)
4228b2:	8b 45 c8             	mov    -0x38(%ebp),%eax
4228b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4228b8:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
4228bb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4228be:	89 03                	mov    %eax,(%ebx)
4228c0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4228c3:	03 45 e0             	add    -0x20(%ebp),%eax
4228c6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4228c9:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
4228ce:	74 05                	je     0x4228d5
4228d0:	e8 2f b4 ff ff       	call   0x41dd04
4228d5:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
4228d9:	75 2d                	jne    0x422908
4228db:	66 8b 43 0e          	mov    0xe(%ebx),%ax
4228df:	66 83 f8 10          	cmp    $0x10,%ax
4228e3:	74 06                	je     0x4228eb
4228e5:	66 83 f8 20          	cmp    $0x20,%ax
4228e9:	75 1d                	jne    0x422908
4228eb:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
4228ef:	75 17                	jne    0x422908
4228f1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4228f4:	b9 0c 00 00 00       	mov    $0xc,%ecx
4228f9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4228fc:	e8 0f 33 ff ff       	call   0x415c10
422901:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)
422905:	83 ee 0c             	sub    $0xc,%esi
422908:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
42290c:	75 0c                	jne    0x42291a
42290e:	66 8b 43 0e          	mov    0xe(%ebx),%ax
422912:	e8 7d b6 ff ff       	call   0x41df94
422917:	89 43 20             	mov    %eax,0x20(%ebx)
42291a:	8b 4b 20             	mov    0x20(%ebx),%ecx
42291d:	0f b6 7d df          	movzbl -0x21(%ebp),%edi
422921:	33 c0                	xor    %eax,%eax
422923:	8a 87 d4 d6 45 00    	mov    0x45d6d4(%edi),%al
422929:	0f af c8             	imul   %eax,%ecx
42292c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42292f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422932:	e8 d9 32 ff ff       	call   0x415c10
422937:	8b 43 20             	mov    0x20(%ebx),%eax
42293a:	33 d2                	xor    %edx,%edx
42293c:	8a 97 d4 d6 45 00    	mov    0x45d6d4(%edi),%dl
422942:	f7 ea                	imul   %edx
422944:	2b f0                	sub    %eax,%esi
422946:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42294a:	75 21                	jne    0x42296d
42294c:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
422950:	8b 43 04             	mov    0x4(%ebx),%eax
422953:	b9 20 00 00 00       	mov    $0x20,%ecx
422958:	e8 57 b6 ff ff       	call   0x41dfb4
42295d:	8b c8                	mov    %eax,%ecx
42295f:	8b 43 08             	mov    0x8(%ebx),%eax
422962:	99                   	cltd
422963:	33 c2                	xor    %edx,%eax
422965:	2b c2                	sub    %edx,%eax
422967:	0f af c8             	imul   %eax,%ecx
42296a:	89 4b 14             	mov    %ecx,0x14(%ebx)
42296d:	8b 43 14             	mov    0x14(%ebx),%eax
422970:	3b f0                	cmp    %eax,%esi
422972:	76 02                	jbe    0x422976
422974:	8b f0                	mov    %eax,%esi
422976:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42297a:	74 08                	je     0x422984
42297c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42297f:	e8 d8 b8 ff ff       	call   0x41e25c
422984:	6a 00                	push   $0x0
422986:	e8 1d 3c fe ff       	call   0x4065a8
42298b:	e8 94 b4 ff ff       	call   0x41de24
422990:	89 45 f4             	mov    %eax,-0xc(%ebp)
422993:	33 d2                	xor    %edx,%edx
422995:	55                   	push   %ebp
422996:	68 87 2b 42 00       	push   $0x422b87
42299b:	64 ff 32             	push   %fs:(%edx)
42299e:	64 89 22             	mov    %esp,%fs:(%edx)
4229a1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4229a4:	8b 40 10             	mov    0x10(%eax),%eax
4229a7:	85 c0                	test   %eax,%eax
4229a9:	74 05                	je     0x4229b0
4229ab:	83 f8 03             	cmp    $0x3,%eax
4229ae:	75 0d                	jne    0x4229bd
4229b0:	80 3d 44 d4 45 00 00 	cmpb   $0x0,0x45d444
4229b7:	0f 84 39 01 00 00    	je     0x422af6
4229bd:	33 c0                	xor    %eax,%eax
4229bf:	89 45 f0             	mov    %eax,-0x10(%ebp)
4229c2:	8b c6                	mov    %esi,%eax
4229c4:	e8 f3 fc fd ff       	call   0x4026bc
4229c9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4229cc:	33 d2                	xor    %edx,%edx
4229ce:	55                   	push   %ebp
4229cf:	68 ef 2a 42 00       	push   $0x422aef
4229d4:	64 ff 32             	push   %fs:(%edx)
4229d7:	64 89 22             	mov    %esp,%fs:(%edx)
4229da:	8b 55 ec             	mov    -0x14(%ebp),%edx
4229dd:	8b ce                	mov    %esi,%ecx
4229df:	8b 45 f8             	mov    -0x8(%ebp),%eax
4229e2:	e8 29 32 ff ff       	call   0x415c10
4229e7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4229ea:	50                   	push   %eax
4229eb:	e8 38 38 fe ff       	call   0x406228
4229f0:	e8 2f b4 ff ff       	call   0x41de24
4229f5:	89 45 f0             	mov    %eax,-0x10(%ebp)
4229f8:	6a 01                	push   $0x1
4229fa:	6a 01                	push   $0x1
4229fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4229ff:	50                   	push   %eax
422a00:	e8 1b 38 fe ff       	call   0x406220
422a05:	50                   	push   %eax
422a06:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a09:	50                   	push   %eax
422a0a:	e8 89 39 fe ff       	call   0x406398
422a0f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
422a12:	33 c0                	xor    %eax,%eax
422a14:	89 45 cc             	mov    %eax,-0x34(%ebp)
422a17:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422a1a:	8b 40 20             	mov    0x20(%eax),%eax
422a1d:	85 c0                	test   %eax,%eax
422a1f:	76 2a                	jbe    0x422a4b
422a21:	8b c8                	mov    %eax,%ecx
422a23:	8b 55 e4             	mov    -0x1c(%ebp),%edx
422a26:	33 c0                	xor    %eax,%eax
422a28:	e8 e7 ba ff ff       	call   0x41e514
422a2d:	89 45 d0             	mov    %eax,-0x30(%ebp)
422a30:	6a 00                	push   $0x0
422a32:	8b 45 d0             	mov    -0x30(%ebp),%eax
422a35:	50                   	push   %eax
422a36:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a39:	50                   	push   %eax
422a3a:	e8 61 39 fe ff       	call   0x4063a0
422a3f:	89 45 cc             	mov    %eax,-0x34(%ebp)
422a42:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a45:	50                   	push   %eax
422a46:	e8 15 39 fe ff       	call   0x406360
422a4b:	33 d2                	xor    %edx,%edx
422a4d:	55                   	push   %ebp
422a4e:	68 c3 2a 42 00       	push   $0x422ac3
422a53:	64 ff 32             	push   %fs:(%edx)
422a56:	64 89 22             	mov    %esp,%fs:(%edx)
422a59:	6a 00                	push   $0x0
422a5b:	8b 45 e8             	mov    -0x18(%ebp),%eax
422a5e:	50                   	push   %eax
422a5f:	8b 55 ec             	mov    -0x14(%ebp),%edx
422a62:	52                   	push   %edx
422a63:	6a 04                	push   $0x4
422a65:	50                   	push   %eax
422a66:	8b 45 f0             	mov    -0x10(%ebp),%eax
422a69:	50                   	push   %eax
422a6a:	e8 c9 37 fe ff       	call   0x406238
422a6f:	89 45 d8             	mov    %eax,-0x28(%ebp)
422a72:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
422a76:	75 15                	jne    0x422a8d
422a78:	e8 03 36 fe ff       	call   0x406080
422a7d:	85 c0                	test   %eax,%eax
422a7f:	75 07                	jne    0x422a88
422a81:	e8 7e b2 ff ff       	call   0x41dd04
422a86:	eb 05                	jmp    0x422a8d
422a88:	e8 5b a1 fe ff       	call   0x40cbe8
422a8d:	33 c0                	xor    %eax,%eax
422a8f:	5a                   	pop    %edx
422a90:	59                   	pop    %ecx
422a91:	59                   	pop    %ecx
422a92:	64 89 10             	mov    %edx,%fs:(%eax)
422a95:	68 ca 2a 42 00       	push   $0x422aca
422a9a:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
422a9e:	74 0f                	je     0x422aaf
422aa0:	6a ff                	push   $0xffffffff
422aa2:	8b 45 cc             	mov    -0x34(%ebp),%eax
422aa5:	50                   	push   %eax
422aa6:	8b 45 f0             	mov    -0x10(%ebp),%eax
422aa9:	50                   	push   %eax
422aaa:	e8 f1 38 fe ff       	call   0x4063a0
422aaf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
422ab2:	50                   	push   %eax
422ab3:	8b 45 f0             	mov    -0x10(%ebp),%eax
422ab6:	50                   	push   %eax
422ab7:	e8 dc 38 fe ff       	call   0x406398
422abc:	50                   	push   %eax
422abd:	e8 b6 37 fe ff       	call   0x406278
422ac2:	c3                   	ret
422ac3:	e9 f8 0e fe ff       	jmp    0x4039c0
422ac8:	eb d0                	jmp    0x422a9a
422aca:	33 c0                	xor    %eax,%eax
422acc:	5a                   	pop    %edx
422acd:	59                   	pop    %ecx
422ace:	59                   	pop    %ecx
422acf:	64 89 10             	mov    %edx,%fs:(%eax)
422ad2:	68 6e 2b 42 00       	push   $0x422b6e
422ad7:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
422adb:	74 09                	je     0x422ae6
422add:	8b 45 f0             	mov    -0x10(%ebp),%eax
422ae0:	50                   	push   %eax
422ae1:	e8 82 37 fe ff       	call   0x406268
422ae6:	8b 45 ec             	mov    -0x14(%ebp),%eax
422ae9:	e8 ee fb fd ff       	call   0x4026dc
422aee:	c3                   	ret
422aef:	e9 cc 0e fe ff       	jmp    0x4039c0
422af4:	eb e1                	jmp    0x422ad7
422af6:	6a 00                	push   $0x0
422af8:	6a 00                	push   $0x0
422afa:	8d 45 ec             	lea    -0x14(%ebp),%eax
422afd:	50                   	push   %eax