43a875:	8b d8                	mov    %eax,%ebx
43a877:	8b d0                	mov    %eax,%edx
43a879:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
43a87f:	ff 93 f0 00 00 00    	call   *0xf0(%ebx)
43a885:	5b                   	pop    %ebx
43a886:	c3                   	ret
43a887:	90                   	nop
43a888:	53                   	push   %ebx
43a889:	56                   	push   %esi
43a88a:	57                   	push   %edi
43a88b:	55                   	push   %ebp
43a88c:	8b da                	mov    %edx,%ebx
43a88e:	8b e8                	mov    %eax,%ebp
43a890:	8b 7b 08             	mov    0x8(%ebx),%edi
43a893:	8b 07                	mov    (%edi),%eax
43a895:	50                   	push   %eax
43a896:	8b 47 04             	mov    0x4(%edi),%eax
43a899:	50                   	push   %eax
43a89a:	8b 47 08             	mov    0x8(%edi),%eax
43a89d:	50                   	push   %eax
43a89e:	0f b6 4f 0d          	movzbl 0xd(%edi),%ecx
43a8a2:	0f b6 57 0c          	movzbl 0xc(%edi),%edx
43a8a6:	8b c5                	mov    %ebp,%eax
43a8a8:	66 be d5 ff          	mov    $0xffd5,%si
43a8ac:	e8 3f 92 fc ff       	call   0x403af0
43a8b1:	83 e0 7f             	and    $0x7f,%eax
43a8b4:	89 43 0c             	mov    %eax,0xc(%ebx)
43a8b7:	5d                   	pop    %ebp
43a8b8:	5f                   	pop    %edi
43a8b9:	5e                   	pop    %esi
43a8ba:	5b                   	pop    %ebx
43a8bb:	c3                   	ret
43a8bc:	55                   	push   %ebp
43a8bd:	8b ec                	mov    %esp,%ebp
43a8bf:	83 c4 f4             	add    $0xfffffff4,%esp
43a8c2:	53                   	push   %ebx
43a8c3:	56                   	push   %esi
43a8c4:	57                   	push   %edi
43a8c5:	8b 75 08             	mov    0x8(%ebp),%esi
43a8c8:	8d 7d f7             	lea    -0x9(%ebp),%edi
43a8cb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a8cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a8cd:	8b d9                	mov    %ecx,%ebx
43a8cf:	88 55 ff             	mov    %dl,-0x1(%ebp)
43a8d2:	8b f8                	mov    %eax,%edi
43a8d4:	c6 45 f6 00          	movb   $0x0,-0xa(%ebp)
43a8d8:	66 83 bf 42 01 00 00 	cmpw   $0x0,0x142(%edi)
43a8df:	00
43a8e0:	74 1b                	je     0x43a8fd
43a8e2:	53                   	push   %ebx
43a8e3:	8d 45 f7             	lea    -0x9(%ebp),%eax
43a8e6:	50                   	push   %eax
43a8e7:	8d 45 f6             	lea    -0xa(%ebp),%eax
43a8ea:	50                   	push   %eax
43a8eb:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
43a8ef:	8b d7                	mov    %edi,%edx
43a8f1:	8b 87 44 01 00 00    	mov    0x144(%edi),%eax
43a8f7:	ff 97 40 01 00 00    	call   *0x140(%edi)
43a8fd:	80 7d f6 00          	cmpb   $0x0,-0xa(%ebp)
43a901:	75 7d                	jne    0x43a980
43a903:	01 9f 98 00 00 00    	add    %ebx,0x98(%edi)
43a909:	eb 65                	jmp    0x43a970
43a90b:	83 bf 98 00 00 00 00 	cmpl   $0x0,0x98(%edi)
43a912:	0f 9c c3             	setl   %bl
43a915:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
43a91b:	99                   	cltd
43a91c:	33 c2                	xor    %edx,%eax
43a91e:	2b c2                	sub    %edx,%eax
43a920:	83 e8 78             	sub    $0x78,%eax
43a923:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
43a929:	84 db                	test   %bl,%bl
43a92b:	74 2e                	je     0x43a95b
43a92d:	83 bf 98 00 00 00 00 	cmpl   $0x0,0x98(%edi)
43a934:	74 0e                	je     0x43a944
43a936:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
43a93c:	f7 d8                	neg    %eax
43a93e:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
43a944:	8d 4d f7             	lea    -0x9(%ebp),%ecx
43a947:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
43a94b:	8b c7                	mov    %edi,%eax
43a94d:	66 be e1 ff          	mov    $0xffe1,%si
43a951:	e8 9a 91 fc ff       	call   0x403af0
43a956:	88 45 f6             	mov    %al,-0xa(%ebp)
43a959:	eb 15                	jmp    0x43a970
43a95b:	8d 4d f7             	lea    -0x9(%ebp),%ecx
43a95e:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
43a962:	8b c7                	mov    %edi,%eax
43a964:	66 be e0 ff          	mov    $0xffe0,%si
43a968:	e8 83 91 fc ff       	call   0x403af0
43a96d:	88 45 f6             	mov    %al,-0xa(%ebp)
43a970:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
43a976:	99                   	cltd
43a977:	33 c2                	xor    %edx,%eax
43a979:	2b c2                	sub    %edx,%eax
43a97b:	83 f8 78             	cmp    $0x78,%eax
43a97e:	7d 8b                	jge    0x43a90b
43a980:	0f b6 45 f6          	movzbl -0xa(%ebp),%eax
43a984:	5f                   	pop    %edi
43a985:	5e                   	pop    %esi
43a986:	5b                   	pop    %ebx
43a987:	8b e5                	mov    %ebp,%esp
43a989:	5d                   	pop    %ebp
43a98a:	c2 04 00             	ret    $0x4
43a98d:	8d 40 00             	lea    0x0(%eax),%eax
43a990:	53                   	push   %ebx
43a991:	56                   	push   %esi
43a992:	57                   	push   %edi
43a993:	83 c4 f4             	add    $0xfffffff4,%esp
43a996:	8b f1                	mov    %ecx,%esi
43a998:	8d 7c 24 01          	lea    0x1(%esp),%edi
43a99c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a99d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a99e:	88 14 24             	mov    %dl,(%esp)
43a9a1:	c6 44 24 09 00       	movb   $0x0,0x9(%esp)
43a9a6:	66 83 b8 4a 01 00 00 	cmpw   $0x0,0x14a(%eax)
43a9ad:	00
43a9ae:	74 1f                	je     0x43a9cf
43a9b0:	8d 54 24 01          	lea    0x1(%esp),%edx
43a9b4:	52                   	push   %edx
43a9b5:	8d 54 24 0d          	lea    0xd(%esp),%edx
43a9b9:	52                   	push   %edx
43a9ba:	8b d8                	mov    %eax,%ebx
43a9bc:	0f b6 4c 24 08       	movzbl 0x8(%esp),%ecx
43a9c1:	8b d0                	mov    %eax,%edx
43a9c3:	8b 83 4c 01 00 00    	mov    0x14c(%ebx),%eax
43a9c9:	ff 93 48 01 00 00    	call   *0x148(%ebx)
43a9cf:	0f b6 44 24 09       	movzbl 0x9(%esp),%eax
43a9d4:	83 c4 0c             	add    $0xc,%esp
43a9d7:	5f                   	pop    %edi
43a9d8:	5e                   	pop    %esi
43a9d9:	5b                   	pop    %ebx
43a9da:	c3                   	ret
43a9db:	90                   	nop
43a9dc:	53                   	push   %ebx
43a9dd:	56                   	push   %esi
43a9de:	57                   	push   %edi
43a9df:	83 c4 f4             	add    $0xfffffff4,%esp
43a9e2:	8b f1                	mov    %ecx,%esi
43a9e4:	8d 7c 24 01          	lea    0x1(%esp),%edi
43a9e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a9e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a9ea:	88 14 24             	mov    %dl,(%esp)
43a9ed:	c6 44 24 09 00       	movb   $0x0,0x9(%esp)
43a9f2:	66 83 b8 52 01 00 00 	cmpw   $0x0,0x152(%eax)
43a9f9:	00
43a9fa:	74 1f                	je     0x43aa1b
43a9fc:	8d 54 24 01          	lea    0x1(%esp),%edx
43aa00:	52                   	push   %edx
43aa01:	8d 54 24 0d          	lea    0xd(%esp),%edx
43aa05:	52                   	push   %edx
43aa06:	8b d8                	mov    %eax,%ebx
43aa08:	0f b6 4c 24 08       	movzbl 0x8(%esp),%ecx
43aa0d:	8b d0                	mov    %eax,%edx
43aa0f:	8b 83 54 01 00 00    	mov    0x154(%ebx),%eax
43aa15:	ff 93 50 01 00 00    	call   *0x150(%ebx)
43aa1b:	0f b6 44 24 09       	movzbl 0x9(%esp),%eax
43aa20:	83 c4 0c             	add    $0xc,%esp
43aa23:	5f                   	pop    %edi
43aa24:	5e                   	pop    %esi
43aa25:	5b                   	pop    %ebx
43aa26:	c3                   	ret
43aa27:	90                   	nop
43aa28:	55                   	push   %ebp
43aa29:	8b ec                	mov    %esp,%ebp
43aa2b:	83 c4 e0             	add    $0xffffffe0,%esp
43aa2e:	53                   	push   %ebx
43aa2f:	56                   	push   %esi
43aa30:	57                   	push   %edi
43aa31:	88 4d ff             	mov    %cl,-0x1(%ebp)
43aa34:	8b f2                	mov    %edx,%esi
43aa36:	8b c6                	mov    %esi,%eax
43aa38:	8b 10                	mov    (%eax),%edx
43aa3a:	ff 52 38             	call   *0x38(%edx)
43aa3d:	8b d8                	mov    %eax,%ebx
43aa3f:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
43aa43:	74 0e                	je     0x43aa53
43aa45:	56                   	push   %esi
43aa46:	83 c6 64             	add    $0x64,%esi
43aa49:	8d 7d e0             	lea    -0x20(%ebp),%edi
43aa4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa50:	5e                   	pop    %esi
43aa51:	eb 0c                	jmp    0x43aa5f
43aa53:	56                   	push   %esi
43aa54:	83 c6 4c             	add    $0x4c,%esi
43aa57:	8d 7d e0             	lea    -0x20(%ebp),%edi
43aa5a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa5b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa5c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa5d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43aa5e:	5e                   	pop    %esi
43aa5f:	e8 64 c4 fc ff       	call   0x406ec8
43aa64:	89 45 f8             	mov    %eax,-0x8(%ebp)
43aa67:	68 02 04 00 00       	push   $0x402
43aa6c:	6a 00                	push   $0x0
43aa6e:	8b 45 f8             	mov    -0x8(%ebp),%eax
43aa71:	50                   	push   %eax
43aa72:	e8 49 c4 fc ff       	call   0x406ec0
43aa77:	89 45 f4             	mov    %eax,-0xc(%ebp)
43aa7a:	33 c0                	xor    %eax,%eax
43aa7c:	55                   	push   %ebp
43aa7d:	68 43 ab 43 00       	push   $0x43ab43
43aa82:	64 ff 30             	push   %fs:(%eax)
43aa85:	64 89 20             	mov    %esp,%fs:(%eax)
43aa88:	8b 46 48             	mov    0x48(%esi),%eax
43aa8b:	e8 bc 8d fe ff       	call   0x42384c
43aa90:	50                   	push   %eax
43aa91:	8b 45 f4             	mov    -0xc(%ebp),%eax
43aa94:	50                   	push   %eax
43aa95:	e8 0e c2 fc ff       	call   0x406ca8
43aa9a:	89 45 f0             	mov    %eax,-0x10(%ebp)
43aa9d:	68 49 00 5a 00       	push   $0x5a0049
43aaa2:	53                   	push   %ebx
43aaa3:	8b 45 e8             	mov    -0x18(%ebp),%eax
43aaa6:	8b 75 e0             	mov    -0x20(%ebp),%esi
43aaa9:	2b c6                	sub    %esi,%eax
43aaab:	2b c3                	sub    %ebx,%eax
43aaad:	50                   	push   %eax
43aaae:	8b 7d e4             	mov    -0x1c(%ebp),%edi
43aab1:	57                   	push   %edi
43aab2:	8b c6                	mov    %esi,%eax
43aab4:	03 c3                	add    %ebx,%eax
43aab6:	50                   	push   %eax
43aab7:	8b 45 f4             	mov    -0xc(%ebp),%eax
43aaba:	50                   	push   %eax
43aabb:	e8 b8 c1 fc ff       	call   0x406c78
43aac0:	68 49 00 5a 00       	push   $0x5a0049
43aac5:	8b 45 ec             	mov    -0x14(%ebp),%eax
43aac8:	2b c7                	sub    %edi,%eax
43aaca:	2b c3                	sub    %ebx,%eax
43aacc:	50                   	push   %eax
43aacd:	53                   	push   %ebx
43aace:	8b c7                	mov    %edi,%eax
43aad0:	03 c3                	add    %ebx,%eax
43aad2:	50                   	push   %eax
43aad3:	8b 45 e8             	mov    -0x18(%ebp),%eax
43aad6:	2b c3                	sub    %ebx,%eax
43aad8:	50                   	push   %eax
43aad9:	8b 45 f4             	mov    -0xc(%ebp),%eax
43aadc:	50                   	push   %eax
43aadd:	e8 96 c1 fc ff       	call   0x406c78
43aae2:	68 49 00 5a 00       	push   $0x5a0049
43aae7:	53                   	push   %ebx
43aae8:	8b 45 e8             	mov    -0x18(%ebp),%eax
43aaeb:	2b 45 e0             	sub    -0x20(%ebp),%eax
43aaee:	2b c3                	sub    %ebx,%eax
43aaf0:	50                   	push   %eax
43aaf1:	8b 45 ec             	mov    -0x14(%ebp),%eax
43aaf4:	2b c3                	sub    %ebx,%eax
43aaf6:	50                   	push   %eax
43aaf7:	56                   	push   %esi
43aaf8:	8b 45 f4             	mov    -0xc(%ebp),%eax
43aafb:	50                   	push   %eax
43aafc:	e8 77 c1 fc ff       	call   0x406c78
43ab01:	68 49 00 5a 00       	push   $0x5a0049
43ab06:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ab09:	2b 45 e4             	sub    -0x1c(%ebp),%eax
43ab0c:	2b c3                	sub    %ebx,%eax
43ab0e:	50                   	push   %eax
43ab0f:	53                   	push   %ebx
43ab10:	57                   	push   %edi
43ab11:	56                   	push   %esi
43ab12:	8b 45 f4             	mov    -0xc(%ebp),%eax
43ab15:	50                   	push   %eax
43ab16:	e8 5d c1 fc ff       	call   0x406c78
43ab1b:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ab1e:	50                   	push   %eax
43ab1f:	8b 45 f4             	mov    -0xc(%ebp),%eax
43ab22:	50                   	push   %eax
43ab23:	e8 80 c1 fc ff       	call   0x406ca8
43ab28:	33 c0                	xor    %eax,%eax
43ab2a:	5a                   	pop    %edx
43ab2b:	59                   	pop    %ecx
43ab2c:	59                   	pop    %ecx
43ab2d:	64 89 10             	mov    %edx,%fs:(%eax)
43ab30:	68 4a ab 43 00       	push   $0x43ab4a
43ab35:	8b 45 f4             	mov    -0xc(%ebp),%eax
43ab38:	50                   	push   %eax
43ab39:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ab3c:	50                   	push   %eax
43ab3d:	e8 e6 c5 fc ff       	call   0x407128
43ab42:	c3                   	ret
43ab43:	e9 40 95 fc ff       	jmp    0x404088
43ab48:	eb eb                	jmp    0x43ab35
43ab4a:	5f                   	pop    %edi
43ab4b:	5e                   	pop    %esi
43ab4c:	5b                   	pop    %ebx
43ab4d:	8b e5                	mov    %ebp,%esp
43ab4f:	5d                   	pop    %ebp
43ab50:	c3                   	ret
43ab51:	8d 40 00             	lea    0x0(%eax),%eax
43ab54:	56                   	push   %esi
43ab55:	33 c9                	xor    %ecx,%ecx
43ab57:	66 be e8 ff          	mov    $0xffe8,%si
43ab5b:	e8 90 8f fc ff       	call   0x403af0
43ab60:	5e                   	pop    %esi
43ab61:	c3                   	ret
43ab62:	8b c0                	mov    %eax,%eax
43ab64:	56                   	push   %esi
43ab65:	b1 01                	mov    $0x1,%cl
43ab67:	66 be e8 ff          	mov    $0xffe8,%si
43ab6b:	e8 80 8f fc ff       	call   0x403af0
43ab70:	5e                   	pop    %esi
43ab71:	c3                   	ret
43ab72:	8b c0                	mov    %eax,%eax
43ab74:	53                   	push   %ebx
43ab75:	56                   	push   %esi
43ab76:	57                   	push   %edi
43ab77:	55                   	push   %ebp
43ab78:	83 c4 f0             	add    $0xfffffff0,%esp
43ab7b:	8b ea                	mov    %edx,%ebp
43ab7d:	89 04 24             	mov    %eax,(%esp)
43ab80:	8b 7d 08             	mov    0x8(%ebp),%edi
43ab83:	8b 77 08             	mov    0x8(%edi),%esi
43ab86:	8b c6                	mov    %esi,%eax
43ab88:	8b 15 1c 46 43 00    	mov    0x43461c,%edx
43ab8e:	e8 ed 8e fc ff       	call   0x403a80
43ab93:	8b d8                	mov    %eax,%ebx
43ab95:	80 3d 18 15 47 00 00 	cmpb   $0x0,0x471518
43ab9c:	74 14                	je     0x43abb2
43ab9e:	84 db                	test   %bl,%bl
43aba0:	75 10                	jne    0x43abb2
43aba2:	8b c6                	mov    %esi,%eax
43aba4:	8b 15 00 45 43 00    	mov    0x434500,%edx
43abaa:	e8 f5 8e fc ff       	call   0x403aa4
43abaf:	8b 70 40             	mov    0x40(%eax),%esi
43abb2:	8d 4c 24 05          	lea    0x5(%esp),%ecx
43abb6:	8b d7                	mov    %edi,%edx
43abb8:	8b 04 24             	mov    (%esp),%eax
43abbb:	e8 1c ee ff ff       	call   0x4399dc
43abc0:	0f b6 45 04          	movzbl 0x4(%ebp),%eax
43abc4:	2c 03                	sub    $0x3,%al
43abc6:	72 07                	jb     0x43abcf
43abc8:	74 5d                	je     0x43ac27
43abca:	e9 8d 00 00 00       	jmp    0x43ac5c
43abcf:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
43abd4:	84 db                	test   %bl,%bl
43abd6:	74 23                	je     0x43abfb
43abd8:	8b 44 24 09          	mov    0x9(%esp),%eax
43abdc:	50                   	push   %eax
43abdd:	0f b6 45 04          	movzbl 0x4(%ebp),%eax
43abe1:	50                   	push   %eax
43abe2:	8d 44 24 0c          	lea    0xc(%esp),%eax
43abe6:	50                   	push   %eax
43abe7:	8b 4c 24 11          	mov    0x11(%esp),%ecx
43abeb:	8b d6                	mov    %esi,%edx
43abed:	8b 47 0c             	mov    0xc(%edi),%eax
43abf0:	66 be c3 ff          	mov    $0xffc3,%si