402794:	59                   	pop    %ecx
402795:	c3                   	ret
402796:	8b 44 24 04          	mov    0x4(%esp),%eax
40279a:	8b 51 24             	mov    0x24(%ecx),%edx
40279d:	8b 49 20             	mov    0x20(%ecx),%ecx
4027a0:	89 10                	mov    %edx,(%eax)
4027a2:	89 48 04             	mov    %ecx,0x4(%eax)
4027a5:	c2 04 00             	ret    $0x4
4027a8:	b8 88 ff 43 00       	mov    $0x43ff88,%eax
4027ad:	c3                   	ret
4027ae:	8d 44 24 10          	lea    0x10(%esp),%eax
4027b2:	50                   	push   %eax
4027b3:	6a 00                	push   $0x0
4027b5:	ff 74 24 14          	push   0x14(%esp)
4027b9:	ff 74 24 14          	push   0x14(%esp)
4027bd:	ff 74 24 14          	push   0x14(%esp)
4027c1:	e8 e2 ff ff ff       	call   0x4027a8
4027c6:	ff 70 04             	push   0x4(%eax)
4027c9:	ff 30                	push   (%eax)
4027cb:	e8 3c f5 00 00       	call   0x411d0c
4027d0:	83 c9 ff             	or     $0xffffffff,%ecx
4027d3:	83 c4 1c             	add    $0x1c,%esp
4027d6:	85 c0                	test   %eax,%eax
4027d8:	0f 48 c1             	cmovs  %ecx,%eax
4027db:	c3                   	ret
4027dc:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4027e0:	85 c9                	test   %ecx,%ecx
4027e2:	74 1d                	je     0x402801
4027e4:	8b 44 24 08          	mov    0x8(%esp),%eax
4027e8:	0f b7 d0             	movzwl %ax,%edx
4027eb:	8b c2                	mov    %edx,%eax
4027ed:	c1 e2 10             	shl    $0x10,%edx
4027f0:	57                   	push   %edi
4027f1:	8b 7c 24 08          	mov    0x8(%esp),%edi
4027f5:	0b c2                	or     %edx,%eax
4027f7:	d1 e9                	shr    $1,%ecx
4027f9:	f3 ab                	rep stos %eax,%es:(%edi)
4027fb:	13 c9                	adc    %ecx,%ecx
4027fd:	66 f3 ab             	rep stos %ax,%es:(%edi)
402800:	5f                   	pop    %edi
402801:	8b 44 24 04          	mov    0x4(%esp),%eax
402805:	c3                   	ret
402806:	56                   	push   %esi
402807:	8b f1                	mov    %ecx,%esi
402809:	83 3e 00             	cmpl   $0x0,(%esi)
40280c:	74 08                	je     0x402816
40280e:	ff 36                	push   (%esi)
402810:	ff 15 44 11 43 00    	call   *0x431144
402816:	8d 4e 18             	lea    0x18(%esi),%ecx
402819:	e8 aa 0b 00 00       	call   0x4033c8
40281e:	8d 4e 10             	lea    0x10(%esi),%ecx
402821:	5e                   	pop    %esi
402822:	e9 39 0b 00 00       	jmp    0x403360
402827:	51                   	push   %ecx
402828:	51                   	push   %ecx
402829:	55                   	push   %ebp
40282a:	56                   	push   %esi
40282b:	8b 35 2c 11 43 00    	mov    0x43112c,%esi
402831:	8d 44 24 08          	lea    0x8(%esp),%eax
402835:	57                   	push   %edi
402836:	33 ed                	xor    %ebp,%ebp
402838:	8b f9                	mov    %ecx,%edi
40283a:	55                   	push   %ebp
40283b:	6a 08                	push   $0x8
40283d:	50                   	push   %eax
40283e:	ff 74 24 28          	push   0x28(%esp)
402842:	ff 74 24 28          	push   0x28(%esp)
402846:	ff d6                	call   *%esi
402848:	85 c0                	test   %eax,%eax
40284a:	0f 84 fa 00 00 00    	je     0x40294a
402850:	55                   	push   %ebp
402851:	6a 04                	push   $0x4
402853:	8d 44 24 24          	lea    0x24(%esp),%eax
402857:	50                   	push   %eax
402858:	ff 74 24 18          	push   0x18(%esp)
40285c:	ff 74 24 28          	push   0x28(%esp)
402860:	ff d6                	call   *%esi
402862:	85 c0                	test   %eax,%eax
402864:	0f 84 e0 00 00 00    	je     0x40294a
40286a:	81 7c 24 1c 08 00 00 	cmpl   $0xc0000008,0x1c(%esp)
402871:	c0
402872:	0f 85 ce 00 00 00    	jne    0x402946
402878:	68 b0 93 43 00       	push   $0x4393b0
40287d:	ff 15 3c 11 43 00    	call   *0x43113c
402883:	89 07                	mov    %eax,(%edi)
402885:	85 c0                	test   %eax,%eax
402887:	0f 84 bd 00 00 00    	je     0x40294a
40288d:	68 cc 93 43 00       	push   $0x4393cc
402892:	50                   	push   %eax
402893:	ff 15 40 11 43 00    	call   *0x431140
402899:	89 47 04             	mov    %eax,0x4(%edi)
40289c:	85 c0                	test   %eax,%eax
40289e:	0f 84 a6 00 00 00    	je     0x40294a
4028a4:	57                   	push   %edi
4028a5:	68 54 29 40 00       	push   $0x402954
4028aa:	6a 01                	push   $0x1
4028ac:	55                   	push   %ebp
4028ad:	ff 74 24 28          	push   0x28(%esp)
4028b1:	ff d0                	call   *%eax
4028b3:	85 c0                	test   %eax,%eax
4028b5:	0f 85 8b 00 00 00    	jne    0x402946
4028bb:	8b 77 10             	mov    0x10(%edi),%esi
4028be:	53                   	push   %ebx
4028bf:	8b 0e                	mov    (%esi),%ecx
4028c1:	3b ce                	cmp    %esi,%ecx
4028c3:	74 36                	je     0x4028fb
4028c5:	8b 41 08             	mov    0x8(%ecx),%eax
4028c8:	8b 19                	mov    (%ecx),%ebx
4028ca:	3b 47 08             	cmp    0x8(%edi),%eax
4028cd:	75 08                	jne    0x4028d7
4028cf:	8b 41 0c             	mov    0xc(%ecx),%eax
4028d2:	3b 47 0c             	cmp    0xc(%edi),%eax
4028d5:	74 1e                	je     0x4028f5
4028d7:	8b 41 04             	mov    0x4(%ecx),%eax
4028da:	68 28 01 00 00       	push   $0x128
4028df:	89 18                	mov    %ebx,(%eax)
4028e1:	8b 11                	mov    (%ecx),%edx
4028e3:	8b 41 04             	mov    0x4(%ecx),%eax
4028e6:	89 42 04             	mov    %eax,0x4(%edx)
4028e9:	33 d2                	xor    %edx,%edx
4028eb:	ff 4f 14             	decl   0x14(%edi)
4028ee:	42                   	inc    %edx
4028ef:	e8 ea e8 ff ff       	call   0x4011de
4028f4:	59                   	pop    %ecx
4028f5:	8b cb                	mov    %ebx,%ecx
4028f7:	3b de                	cmp    %esi,%ebx
4028f9:	75 ca                	jne    0x4028c5
4028fb:	69 47 14 20 01 00 00 	imul   $0x120,0x14(%edi),%eax
402902:	8d 4f 18             	lea    0x18(%edi),%ecx
402905:	6a 10                	push   $0x10
402907:	5b                   	pop    %ebx
402908:	03 c3                	add    %ebx,%eax
40290a:	50                   	push   %eax
40290b:	e8 0d 0a 00 00       	call   0x40331d
402910:	8b 4f 18             	mov    0x18(%edi),%ecx
402913:	89 19                	mov    %ebx,(%ecx)
402915:	8d 59 10             	lea    0x10(%ecx),%ebx
402918:	c7 41 04 20 01 00 00 	movl   $0x120,0x4(%ecx)
40291f:	8b 47 14             	mov    0x14(%edi),%eax
402922:	89 41 08             	mov    %eax,0x8(%ecx)
402925:	89 69 0c             	mov    %ebp,0xc(%ecx)
402928:	8b 47 10             	mov    0x10(%edi),%eax
40292b:	8b 10                	mov    (%eax),%edx
40292d:	eb 12                	jmp    0x402941
40292f:	6a 48                	push   $0x48
402931:	8d 72 08             	lea    0x8(%edx),%esi
402934:	8b fb                	mov    %ebx,%edi
402936:	59                   	pop    %ecx
402937:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402939:	8b 12                	mov    (%edx),%edx
40293b:	81 c3 20 01 00 00    	add    $0x120,%ebx
402941:	3b d0                	cmp    %eax,%edx
402943:	75 ea                	jne    0x40292f
402945:	5b                   	pop    %ebx
402946:	b0 01                	mov    $0x1,%al
402948:	eb 02                	jmp    0x40294c
40294a:	32 c0                	xor    %al,%al
40294c:	5f                   	pop    %edi
40294d:	5e                   	pop    %esi
40294e:	5d                   	pop    %ebp
40294f:	59                   	pop    %ecx
402950:	59                   	pop    %ecx
402951:	c2 08 00             	ret    $0x8
402954:	53                   	push   %ebx
402955:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
402959:	55                   	push   %ebp
40295a:	56                   	push   %esi
40295b:	8b 74 24 10          	mov    0x10(%esp),%esi
40295f:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
402963:	75 0b                	jne    0x402970
402965:	8b 06                	mov    (%esi),%eax
402967:	8b 4e 04             	mov    0x4(%esi),%ecx
40296a:	89 43 08             	mov    %eax,0x8(%ebx)
40296d:	89 4b 0c             	mov    %ecx,0xc(%ebx)
402970:	8b 6b 10             	mov    0x10(%ebx),%ebp
402973:	57                   	push   %edi
402974:	ff 75 04             	push   0x4(%ebp)
402977:	55                   	push   %ebp
402978:	e8 c9 0c 00 00       	call   0x403646
40297d:	8b d0                	mov    %eax,%edx
40297f:	8d 7a 08             	lea    0x8(%edx),%edi
402982:	85 ff                	test   %edi,%edi
402984:	74 05                	je     0x40298b
402986:	6a 48                	push   $0x48
402988:	59                   	pop    %ecx
402989:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40298b:	8b 4b 14             	mov    0x14(%ebx),%ecx
40298e:	b8 c7 67 dd 00       	mov    $0xdd67c7,%eax
402993:	2b c1                	sub    %ecx,%eax
402995:	5f                   	pop    %edi
402996:	83 f8 01             	cmp    $0x1,%eax
402999:	72 1d                	jb     0x4029b8
40299b:	8d 41 01             	lea    0x1(%ecx),%eax
40299e:	89 43 14             	mov    %eax,0x14(%ebx)
4029a1:	89 55 04             	mov    %edx,0x4(%ebp)
4029a4:	8b 42 04             	mov    0x4(%edx),%eax
4029a7:	5e                   	pop    %esi
4029a8:	5d                   	pop    %ebp
4029a9:	5b                   	pop    %ebx
4029aa:	89 10                	mov    %edx,(%eax)
4029ac:	8b 44 24 0c          	mov    0xc(%esp),%eax
4029b0:	83 20 00             	andl   $0x0,(%eax)
4029b3:	33 c0                	xor    %eax,%eax
4029b5:	c2 0c 00             	ret    $0xc
4029b8:	68 28 93 43 00       	push   $0x439328
4029bd:	e8 57 6f 00 00       	call   0x409919
4029c2:	cc                   	int3
4029c3:	55                   	push   %ebp
4029c4:	8b ec                	mov    %esp,%ebp
4029c6:	8b 45 0c             	mov    0xc(%ebp),%eax
4029c9:	53                   	push   %ebx
4029ca:	57                   	push   %edi
4029cb:	ff 75 08             	push   0x8(%ebp)
4029ce:	8b f9                	mov    %ecx,%edi
4029d0:	33 db                	xor    %ebx,%ebx
4029d2:	89 47 10             	mov    %eax,0x10(%edi)
4029d5:	8d 8f 30 01 02 00    	lea    0x20130(%edi),%ecx
4029db:	8b 45 10             	mov    0x10(%ebp),%eax
4029de:	89 47 14             	mov    %eax,0x14(%edi)
4029e1:	8b 45 14             	mov    0x14(%ebp),%eax
4029e4:	89 47 18             	mov    %eax,0x18(%edi)
4029e7:	8b 45 18             	mov    0x18(%ebp),%eax
4029ea:	89 47 1c             	mov    %eax,0x1c(%edi)
4029ed:	8b 45 1c             	mov    0x1c(%ebp),%eax
4029f0:	89 47 20             	mov    %eax,0x20(%edi)
4029f3:	8b 45 20             	mov    0x20(%ebp),%eax
4029f6:	89 47 24             	mov    %eax,0x24(%edi)
4029f9:	8b 45 2c             	mov    0x2c(%ebp),%eax
4029fc:	89 1f                	mov    %ebx,(%edi)
4029fe:	89 5f 04             	mov    %ebx,0x4(%edi)
402a01:	89 5f 08             	mov    %ebx,0x8(%edi)
402a04:	89 5f 0c             	mov    %ebx,0xc(%edi)
402a07:	89 47 28             	mov    %eax,0x28(%edi)
402a0a:	c6 87 2c 01 02 00 01 	movb   $0x1,0x2012c(%edi)
402a11:	e8 54 f6 ff ff       	call   0x40206a
402a16:	83 8f 48 01 02 00 ff 	orl    $0xffffffff,0x20148(%edi)
402a1d:	8d 87 5c 01 02 00    	lea    0x2015c(%edi),%eax
402a23:	83 8f 4c 01 02 00 ff 	orl    $0xffffffff,0x2014c(%edi)
402a2a:	50                   	push   %eax
402a2b:	66 89 9f 50 01 02 00 	mov    %bx,0x20150(%edi)
402a32:	89 9f 54 01 02 00    	mov    %ebx,0x20154(%edi)
402a38:	89 9f 58 01 02 00    	mov    %ebx,0x20158(%edi)
402a3e:	ff 15 f0 10 43 00    	call   *0x4310f0
402a44:	8d 87 74 01 02 00    	lea    0x20174(%edi),%eax
402a4a:	50                   	push   %eax
402a4b:	ff 15 f0 10 43 00    	call   *0x4310f0
402a51:	8d 47 2c             	lea    0x2c(%edi),%eax
402a54:	39 5d 24             	cmp    %ebx,0x24(%ebp)
402a57:	74 13                	je     0x402a6c
402a59:	68 00 00 02 00       	push   $0x20000
402a5e:	ff 75 24             	push   0x24(%ebp)
402a61:	50                   	push   %eax
402a62:	e8 69 06 01 00       	call   0x4130d0
402a67:	83 c4 0c             	add    $0xc,%esp
402a6a:	eb 02                	jmp    0x402a6e
402a6c:	88 18                	mov    %bl,(%eax)
402a6e:	8d 87 2c 00 02 00    	lea    0x2002c(%edi),%eax
402a74:	39 5d 28             	cmp    %ebx,0x28(%ebp)
402a77:	74 13                	je     0x402a8c
402a79:	68 80 00 00 00       	push   $0x80
402a7e:	ff 75 28             	push   0x28(%ebp)
402a81:	50                   	push   %eax
402a82:	e8 09 06 01 00       	call   0x413090
402a87:	83 c4 0c             	add    $0xc,%esp
402a8a:	eb 05                	jmp    0x402a91
402a8c:	33 c9                	xor    %ecx,%ecx
402a8e:	66 89 08             	mov    %cx,(%eax)
402a91:	8b c7                	mov    %edi,%eax
402a93:	5f                   	pop    %edi
402a94:	5b                   	pop    %ebx
402a95:	5d                   	pop    %ebp
402a96:	c2 2c 00             	ret    $0x2c
402a99:	56                   	push   %esi
402a9a:	8b 35 20 10 43 00    	mov    0x431020,%esi
402aa0:	57                   	push   %edi
402aa1:	8b f9                	mov    %ecx,%edi
402aa3:	80 bf 50 01 02 00 00 	cmpb   $0x0,0x20150(%edi)
402aaa:	74 0e                	je     0x402aba
402aac:	8b 87 48 01 02 00    	mov    0x20148(%edi),%eax
402ab2:	83 f8 ff             	cmp    $0xffffffff,%eax
402ab5:	74 03                	je     0x402aba
402ab7:	50                   	push   %eax
402ab8:	ff d6                	call   *%esi
402aba:	80 bf 51 01 02 00 00 	cmpb   $0x0,0x20151(%edi)
402ac1:	74 0e                	je     0x402ad1
402ac3:	8b 87 4c 01 02 00    	mov    0x2014c(%edi),%eax
402ac9:	83 f8 ff             	cmp    $0xffffffff,%eax
402acc:	74 03                	je     0x402ad1
402ace:	50                   	push   %eax
402acf:	ff d6                	call   *%esi
402ad1:	83 3f 00             	cmpl   $0x0,(%edi)
402ad4:	8b 35 44 11 43 00    	mov    0x431144,%esi
402ada:	74 04                	je     0x402ae0
402adc:	ff 37                	push   (%edi)
402ade:	ff d6                	call   *%esi
402ae0:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
402ae4:	74 05                	je     0x402aeb
402ae6:	ff 77 08             	push   0x8(%edi)
402ae9:	ff d6                	call   *%esi
402aeb:	8b 35 1c 11 43 00    	mov    0x43111c,%esi
402af1:	8d 87 74 01 02 00    	lea    0x20174(%edi),%eax
402af7:	50                   	push   %eax
402af8:	ff d6                	call   *%esi
402afa:	8d 87 5c 01 02 00    	lea    0x2015c(%edi),%eax
402b00:	50                   	push   %eax
402b01:	ff d6                	call   *%esi
402b03:	6a 00                	push   $0x0
402b05:	6a 01                	push   $0x1
402b07:	8d 8f 30 01 02 00    	lea    0x20130(%edi),%ecx
402b0d:	e8 b3 f5 ff ff       	call   0x4020c5
402b12:	5f                   	pop    %edi
402b13:	5e                   	pop    %esi
402b14:	c3                   	ret
402b15:	81 ec 74 03 00 00    	sub    $0x374,%esp
402b1b:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
402b20:	33 c4                	xor    %esp,%eax
402b22:	89 84 24 6c 03 00 00 	mov    %eax,0x36c(%esp)
402b29:	53                   	push   %ebx
402b2a:	55                   	push   %ebp
402b2b:	56                   	push   %esi
402b2c:	57                   	push   %edi
402b2d:	8b f9                	mov    %ecx,%edi
402b2f:	83 cd ff             	or     $0xffffffff,%ebp
402b32:	8b 47 28             	mov    0x28(%edi),%eax
402b35:	d1 e8                	shr    $1,%eax
402b37:	25 01 ff ff ff       	and    $0xffffff01,%eax
402b3c:	89 44 24 28          	mov    %eax,0x28(%esp)
402b40:	39 af 48 01 02 00    	cmp    %ebp,0x20148(%edi)
402b46:	0f 84 6b 03 00 00    	je     0x402eb7
402b4c:	84 c0                	test   %al,%al
402b4e:	74 0c                	je     0x402b5c
402b50:	39 af 4c 01 02 00    	cmp    %ebp,0x2014c(%edi)
402b56:	0f 84 5b 03 00 00    	je     0x402eb7
402b5c:	e8 b3 05 00 00       	call   0x403114
402b61:	89 44 24 24          	mov    %eax,0x24(%esp)
402b65:	85 c0                	test   %eax,%eax
402b67:	0f 84 4a 03 00 00    	je     0x402eb7
402b6d:	8b 4f 20             	mov    0x20(%edi),%ecx
402b70:	85 c9                	test   %ecx,%ecx
402b72:	74 21                	je     0x402b95
402b74:	8a 97 2c 01 02 00    	mov    0x2012c(%edi),%dl
402b7a:	84 d2                	test   %dl,%dl
402b7c:	74 05                	je     0x402b83
402b7e:	8b 47 1c             	mov    0x1c(%edi),%eax
402b81:	eb 03                	jmp    0x402b86
402b83:	8b 47 18             	mov    0x18(%edi),%eax
402b86:	89 44 24 2c          	mov    %eax,0x2c(%esp)
402b8a:	0f b6 c2             	movzbl %dl,%eax
402b8d:	89 4c 24 30          	mov    %ecx,0x30(%esp)
402b91:	89 44 24 34          	mov    %eax,0x34(%esp)