4187f3:	89 75 fc             	mov    %esi,-0x4(%ebp)
4187f6:	8b 43 10             	mov    0x10(%ebx),%eax
4187f9:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4187fe:	75 0a                	jne    0x41880a
418800:	8b d7                	mov    %edi,%edx
418802:	8b 45 fc             	mov    -0x4(%ebp),%eax
418805:	ff 55 f8             	call   *-0x8(%ebp)
418808:	eb 0a                	jmp    0x418814
41880a:	8b cf                	mov    %edi,%ecx
41880c:	8b d0                	mov    %eax,%edx
41880e:	8b 45 fc             	mov    -0x4(%ebp),%eax
418811:	ff 55 f8             	call   *-0x8(%ebp)
418814:	33 c0                	xor    %eax,%eax
418816:	5a                   	pop    %edx
418817:	59                   	pop    %ecx
418818:	59                   	pop    %ecx
418819:	64 89 10             	mov    %edx,%fs:(%eax)
41881c:	68 31 88 41 00       	push   $0x418831
418821:	8d 45 f4             	lea    -0xc(%ebp),%eax
418824:	e8 3b b9 fe ff       	call   0x404164
418829:	c3                   	ret
41882a:	e9 39 b3 fe ff       	jmp    0x403b68
41882f:	eb f0                	jmp    0x418821
418831:	5f                   	pop    %edi
418832:	5e                   	pop    %esi
418833:	5b                   	pop    %ebx
418834:	8b e5                	mov    %ebp,%esp
418836:	5d                   	pop    %ebp
418837:	c3                   	ret
418838:	53                   	push   %ebx
418839:	56                   	push   %esi
41883a:	83 c4 ec             	add    $0xffffffec,%esp
41883d:	8b da                	mov    %edx,%ebx
41883f:	8b 53 04             	mov    0x4(%ebx),%edx
418842:	8b ca                	mov    %edx,%ecx
418844:	81 e1 00 00 00 ff    	and    $0xff000000,%ecx
41884a:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
418850:	0f 85 8c 00 00 00    	jne    0x4188e2
418856:	8b f2                	mov    %edx,%esi
418858:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
41885e:	03 f0                	add    %eax,%esi
418860:	8b 03                	mov    (%ebx),%eax
418862:	8b 00                	mov    (%eax),%eax
418864:	e8 17 f5 ff ff       	call   0x417d80
418869:	0f b6 00             	movzbl (%eax),%eax
41886c:	83 f8 04             	cmp    $0x4,%eax
41886f:	77 61                	ja     0x4188d2
418871:	ff 24 85 78 88 41 00 	jmp    *0x418878(,%eax,4)
418878:	8c 88 41 00 97 88    	mov    %cs,-0x7768ffbf(%eax)
41887e:	41                   	inc    %ecx
41887f:	00 a2 88 41 00 bc    	add    %ah,-0x43ffbe78(%edx)
418885:	88 41 00             	mov    %al,0x0(%ecx)
418888:	c4 88 41 00 d9 06    	les    0x6d90041(%eax),%ecx
41888e:	db 3c 24             	fstpt  (%esp)
418891:	9b                   	fwait
418892:	e9 ab 00 00 00       	jmp    0x418942
418897:	dd 06                	fldl   (%esi)
418899:	db 3c 24             	fstpt  (%esp)
41889c:	9b                   	fwait
41889d:	e9 a0 00 00 00       	jmp    0x418942
4188a2:	8b 06                	mov    (%esi),%eax
4188a4:	89 04 24             	mov    %eax,(%esp)
4188a7:	8b 46 04             	mov    0x4(%esi),%eax
4188aa:	89 44 24 04          	mov    %eax,0x4(%esp)
4188ae:	66 8b 46 08          	mov    0x8(%esi),%ax
4188b2:	66 89 44 24 08       	mov    %ax,0x8(%esp)
4188b7:	e9 86 00 00 00       	jmp    0x418942
4188bc:	df 2e                	fildll (%esi)
4188be:	db 3c 24             	fstpt  (%esp)
4188c1:	9b                   	fwait
4188c2:	eb 7e                	jmp    0x418942
4188c4:	df 2e                	fildll (%esi)
4188c6:	d8 35 4c 89 41 00    	fdivs  0x41894c
4188cc:	db 3c 24             	fstpt  (%esp)
4188cf:	9b                   	fwait
4188d0:	eb 70                	jmp    0x418942
4188d2:	33 c0                	xor    %eax,%eax
4188d4:	89 04 24             	mov    %eax,(%esp)
4188d7:	89 44 24 04          	mov    %eax,0x4(%esp)
4188db:	66 89 44 24 08       	mov    %ax,0x8(%esp)
4188e0:	eb 60                	jmp    0x418942
4188e2:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
4188e8:	75 0f                	jne    0x4188f9
4188ea:	8b 08                	mov    (%eax),%ecx
4188ec:	0f bf d2             	movswl %dx,%edx
4188ef:	03 ca                	add    %edx,%ecx
4188f1:	8b 11                	mov    (%ecx),%edx
4188f3:	89 54 24 0c          	mov    %edx,0xc(%esp)
4188f7:	eb 04                	jmp    0x4188fd
4188f9:	89 54 24 0c          	mov    %edx,0xc(%esp)
4188fd:	89 44 24 10          	mov    %eax,0x10(%esp)
418901:	8b 43 10             	mov    0x10(%ebx),%eax
418904:	3d 00 00 00 80       	cmp    $0x80000000,%eax
418909:	75 0e                	jne    0x418919
41890b:	8b 44 24 10          	mov    0x10(%esp),%eax
41890f:	ff 54 24 0c          	call   *0xc(%esp)
418913:	db 3c 24             	fstpt  (%esp)
418916:	9b                   	fwait
418917:	eb 0e                	jmp    0x418927
418919:	8b d0                	mov    %eax,%edx
41891b:	8b 44 24 10          	mov    0x10(%esp),%eax
41891f:	ff 54 24 0c          	call   *0xc(%esp)
418923:	db 3c 24             	fstpt  (%esp)
418926:	9b                   	fwait
418927:	8b 03                	mov    (%ebx),%eax
418929:	8b 00                	mov    (%eax),%eax
41892b:	e8 50 f4 ff ff       	call   0x417d80
418930:	80 38 04             	cmpb   $0x4,(%eax)
418933:	75 0d                	jne    0x418942
418935:	db 2c 24             	fldt   (%esp)
418938:	d8 35 4c 89 41 00    	fdivs  0x41894c
41893e:	db 3c 24             	fstpt  (%esp)
418941:	9b db 2c 24          	fldt   (%esp)
418945:	83 c4 14             	add    $0x14,%esp
418948:	5e                   	pop    %esi
418949:	5b                   	pop    %ebx
41894a:	c3                   	ret
41894b:	00 00                	add    %al,(%eax)
41894d:	40                   	inc    %eax
41894e:	1c 46                	sbb    $0x46,%al
418950:	55                   	push   %ebp
418951:	8b ec                	mov    %esp,%ebp
418953:	83 c4 f8             	add    $0xfffffff8,%esp
418956:	53                   	push   %ebx
418957:	56                   	push   %esi
418958:	57                   	push   %edi
418959:	8b f2                	mov    %edx,%esi
41895b:	8b f8                	mov    %eax,%edi
41895d:	8b 5e 08             	mov    0x8(%esi),%ebx
418960:	8b 06                	mov    (%esi),%eax
418962:	8b 00                	mov    (%eax),%eax
418964:	e8 17 f4 ff ff       	call   0x417d80
418969:	8a 00                	mov    (%eax),%al
41896b:	8b d3                	mov    %ebx,%edx
41896d:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
418973:	81 fa 00 00 00 ff    	cmp    $0xff000000,%edx
418979:	75 7b                	jne    0x4189f6
41897b:	8b d3                	mov    %ebx,%edx
41897d:	81 e2 ff ff ff 00    	and    $0xffffff,%edx
418983:	03 d7                	add    %edi,%edx
418985:	83 e0 7f             	and    $0x7f,%eax
418988:	83 f8 04             	cmp    $0x4,%eax
41898b:	0f 87 a9 01 00 00    	ja     0x418b3a
418991:	ff 24 85 98 89 41 00 	jmp    *0x418998(,%eax,4)
418998:	ac                   	lods   %ds:(%esi),%al
418999:	89 41 00             	mov    %eax,0x0(%ecx)
41899c:	b7 89                	mov    $0x89,%bh
41899e:	41                   	inc    %ecx
41899f:	00 c2                	add    %al,%dl
4189a1:	89 41 00             	mov    %eax,0x0(%ecx)
4189a4:	da 89 41 00 e5 89    	fimull -0x761affbf(%ecx)
4189aa:	41                   	inc    %ecx
4189ab:	00 db                	add    %bl,%bl
4189ad:	6d                   	insl   (%dx),%es:(%edi)
4189ae:	08 d9                	or     %bl,%cl
4189b0:	1a 9b e9 83 01 00    	sbb    0x183e9(%ebx),%bl
4189b6:	00 db                	add    %bl,%bl
4189b8:	6d                   	insl   (%dx),%es:(%edi)
4189b9:	08 dd                	or     %bl,%ch
4189bb:	1a 9b e9 78 01 00    	sbb    0x178e9(%ebx),%bl
4189c1:	00 8b 45 08 89 02    	add    %cl,0x2890845(%ebx)
4189c7:	8b 45 0c             	mov    0xc(%ebp),%eax
4189ca:	89 42 04             	mov    %eax,0x4(%edx)
4189cd:	66 8b 45 10          	mov    0x10(%ebp),%ax
4189d1:	66 89 42 08          	mov    %ax,0x8(%edx)
4189d5:	e9 60 01 00 00       	jmp    0x418b3a
4189da:	db 6d 08             	fldt   0x8(%ebp)
4189dd:	df 3a                	fistpll (%edx)
4189df:	9b                   	fwait
4189e0:	e9 55 01 00 00       	jmp    0x418b3a
4189e5:	db 6d 08             	fldt   0x8(%ebp)
4189e8:	d8 0d 44 8b 41 00    	fmuls  0x418b44
4189ee:	df 3a                	fistpll (%edx)
4189f0:	9b                   	fwait
4189f1:	e9 44 01 00 00       	jmp    0x418b3a
4189f6:	81 fa 00 00 00 fe    	cmp    $0xfe000000,%edx
4189fc:	75 0e                	jne    0x418a0c
4189fe:	8b 17                	mov    (%edi),%edx
418a00:	0f bf cb             	movswl %bx,%ecx
418a03:	03 d1                	add    %ecx,%edx
418a05:	8b 12                	mov    (%edx),%edx
418a07:	89 55 f8             	mov    %edx,-0x8(%ebp)
418a0a:	eb 03                	jmp    0x418a0f
418a0c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
418a0f:	89 7d fc             	mov    %edi,-0x4(%ebp)
418a12:	8b 56 10             	mov    0x10(%esi),%edx
418a15:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
418a1b:	0f 85 97 00 00 00    	jne    0x418ab8
418a21:	83 e0 7f             	and    $0x7f,%eax
418a24:	83 f8 04             	cmp    $0x4,%eax
418a27:	0f 87 0d 01 00 00    	ja     0x418b3a
418a2d:	ff 24 85 34 8a 41 00 	jmp    *0x418a34(,%eax,4)
418a34:	48                   	dec    %eax
418a35:	8a 41 00             	mov    0x0(%ecx),%al
418a38:	5d                   	pop    %ebp
418a39:	8a 41 00             	mov    0x0(%ecx),%al
418a3c:	72 8a                	jb     0x4189c8
418a3e:	41                   	inc    %ecx
418a3f:	00 88 8a 41 00 9d    	add    %cl,-0x62ffbe76(%eax)
418a45:	8a 41 00             	mov    0x0(%ecx),%al
418a48:	db 6d 08             	fldt   0x8(%ebp)
418a4b:	83 c4 fc             	add    $0xfffffffc,%esp
418a4e:	d9 1c 24             	fstps  (%esp)
418a51:	9b                   	fwait
418a52:	8b 45 fc             	mov    -0x4(%ebp),%eax
418a55:	ff 55 f8             	call   *-0x8(%ebp)
418a58:	e9 dd 00 00 00       	jmp    0x418b3a
418a5d:	db 6d 08             	fldt   0x8(%ebp)
418a60:	83 c4 f8             	add    $0xfffffff8,%esp
418a63:	dd 1c 24             	fstpl  (%esp)
418a66:	9b                   	fwait
418a67:	8b 45 fc             	mov    -0x4(%ebp),%eax
418a6a:	ff 55 f8             	call   *-0x8(%ebp)
418a6d:	e9 c8 00 00 00       	jmp    0x418b3a
418a72:	66 8b 45 10          	mov    0x10(%ebp),%ax
418a76:	50                   	push   %eax
418a77:	ff 75 0c             	push   0xc(%ebp)
418a7a:	ff 75 08             	push   0x8(%ebp)
418a7d:	8b 45 fc             	mov    -0x4(%ebp),%eax
418a80:	ff 55 f8             	call   *-0x8(%ebp)
418a83:	e9 b2 00 00 00       	jmp    0x418b3a
418a88:	db 6d 08             	fldt   0x8(%ebp)
418a8b:	83 c4 f8             	add    $0xfffffff8,%esp
418a8e:	df 3c 24             	fistpll (%esp)
418a91:	9b                   	fwait
418a92:	8b 45 fc             	mov    -0x4(%ebp),%eax
418a95:	ff 55 f8             	call   *-0x8(%ebp)
418a98:	e9 9d 00 00 00       	jmp    0x418b3a
418a9d:	db 6d 08             	fldt   0x8(%ebp)
418aa0:	d8 0d 44 8b 41 00    	fmuls  0x418b44
418aa6:	83 c4 f8             	add    $0xfffffff8,%esp
418aa9:	df 3c 24             	fistpll (%esp)
418aac:	9b                   	fwait
418aad:	8b 45 fc             	mov    -0x4(%ebp),%eax
418ab0:	ff 55 f8             	call   *-0x8(%ebp)
418ab3:	e9 82 00 00 00       	jmp    0x418b3a
418ab8:	83 e0 7f             	and    $0x7f,%eax
418abb:	83 f8 04             	cmp    $0x4,%eax
418abe:	77 7a                	ja     0x418b3a
418ac0:	ff 24 85 c7 8a 41 00 	jmp    *0x418ac7(,%eax,4)
418ac7:	db 8a 41 00 ed 8a    	fisttpl -0x7512ffbf(%edx)
418acd:	41                   	inc    %ecx
418ace:	00 ff                	add    %bh,%bh
418ad0:	8a 41 00             	mov    0x0(%ecx),%al
418ad3:	12 8b 41 00 24 8b    	adc    -0x74dbffbf(%ebx),%cl
418ad9:	41                   	inc    %ecx
418ada:	00 db                	add    %bl,%bl
418adc:	6d                   	insl   (%dx),%es:(%edi)
418add:	08 83 c4 fc d9 1c    	or     %al,0x1cd9fcc4(%ebx)
418ae3:	24 9b                	and    $0x9b,%al
418ae5:	8b 45 fc             	mov    -0x4(%ebp),%eax
418ae8:	ff 55 f8             	call   *-0x8(%ebp)
418aeb:	eb 4d                	jmp    0x418b3a
418aed:	db 6d 08             	fldt   0x8(%ebp)
418af0:	83 c4 f8             	add    $0xfffffff8,%esp
418af3:	dd 1c 24             	fstpl  (%esp)
418af6:	9b                   	fwait
418af7:	8b 45 fc             	mov    -0x4(%ebp),%eax
418afa:	ff 55 f8             	call   *-0x8(%ebp)
418afd:	eb 3b                	jmp    0x418b3a
418aff:	66 8b 45 10          	mov    0x10(%ebp),%ax
418b03:	50                   	push   %eax
418b04:	ff 75 0c             	push   0xc(%ebp)
418b07:	ff 75 08             	push   0x8(%ebp)
418b0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
418b0d:	ff 55 f8             	call   *-0x8(%ebp)
418b10:	eb 28                	jmp    0x418b3a
418b12:	db 6d 08             	fldt   0x8(%ebp)
418b15:	83 c4 f8             	add    $0xfffffff8,%esp
418b18:	df 3c 24             	fistpll (%esp)
418b1b:	9b                   	fwait
418b1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
418b1f:	ff 55 f8             	call   *-0x8(%ebp)
418b22:	eb 16                	jmp    0x418b3a
418b24:	db 6d 08             	fldt   0x8(%ebp)
418b27:	d8 0d 44 8b 41 00    	fmuls  0x418b44
418b2d:	83 c4 f8             	add    $0xfffffff8,%esp
418b30:	df 3c 24             	fistpll (%esp)
418b33:	9b                   	fwait
418b34:	8b 45 fc             	mov    -0x4(%ebp),%eax
418b37:	ff 55 f8             	call   *-0x8(%ebp)
418b3a:	5f                   	pop    %edi
418b3b:	5e                   	pop    %esi
418b3c:	5b                   	pop    %ebx
418b3d:	59                   	pop    %ecx
418b3e:	59                   	pop    %ecx
418b3f:	5d                   	pop    %ebp
418b40:	c2 0c 00             	ret    $0xc
418b43:	00 00                	add    %al,(%eax)
418b45:	40                   	inc    %eax
418b46:	1c 46                	sbb    $0x46,%al
418b48:	53                   	push   %ebx
418b49:	56                   	push   %esi
418b4a:	8b f2                	mov    %edx,%esi
418b4c:	8b d8                	mov    %eax,%ebx
418b4e:	8b c3                	mov    %ebx,%eax
418b50:	8b d6                	mov    %esi,%edx
418b52:	e8 2d 77 ff ff       	call   0x410284
418b57:	5e                   	pop    %esi
418b58:	5b                   	pop    %ebx
418b59:	c3                   	ret
418b5a:	8b c0                	mov    %eax,%eax
418b5c:	56                   	push   %esi
418b5d:	57                   	push   %edi
418b5e:	89 d7                	mov    %edx,%edi
418b60:	8b 57 10             	mov    0x10(%edi),%edx
418b63:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
418b69:	75 02                	jne    0x418b6d
418b6b:	89 ca                	mov    %ecx,%edx
418b6d:	8b 77 04             	mov    0x4(%edi),%esi
418b70:	80 7f 07 fe          	cmpb   $0xfe,0x7(%edi)
418b74:	77 11                	ja     0x418b87
418b76:	72 0a                	jb     0x418b82
418b78:	0f bf f6             	movswl %si,%esi
418b7b:	03 30                	add    (%eax),%esi
418b7d:	ff 16                	call   *(%esi)
418b7f:	5f                   	pop    %edi
418b80:	5e                   	pop    %esi
418b81:	c3                   	ret
418b82:	ff d6                	call   *%esi
418b84:	5f                   	pop    %edi
418b85:	5e                   	pop    %esi
418b86:	c3                   	ret
418b87:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
418b8d:	8d 14 06             	lea    (%esi,%eax,1),%edx
418b90:	89 c8                	mov    %ecx,%eax
418b92:	e8 b1 ff ff ff       	call   0x418b48
418b97:	5f                   	pop    %edi
418b98:	5e                   	pop    %esi
418b99:	c3                   	ret
418b9a:	8b c0                	mov    %eax,%eax
418b9c:	56                   	push   %esi
418b9d:	57                   	push   %edi
418b9e:	89 d6                	mov    %edx,%esi
418ba0:	8b 56 10             	mov    0x10(%esi),%edx
418ba3:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
418ba9:	75 02                	jne    0x418bad
418bab:	89 ca                	mov    %ecx,%edx
418bad:	8b 7e 08             	mov    0x8(%esi),%edi
418bb0:	80 7e 0b fe          	cmpb   $0xfe,0xb(%esi)
418bb4:	77 11                	ja     0x418bc7
418bb6:	72 0a                	jb     0x418bc2
418bb8:	0f bf ff             	movswl %di,%edi
418bbb:	03 38                	add    (%eax),%edi
418bbd:	ff 17                	call   *(%edi)
418bbf:	5f                   	pop    %edi
418bc0:	5e                   	pop    %esi
418bc1:	c3                   	ret
418bc2:	ff d7                	call   *%edi
418bc4:	5f                   	pop    %edi