41290f:	79 08                	jns    0x412919
412911:	00 00                	add    %al,(%eax)
412913:	00 01                	add    %al,(%ecx)
412915:	00 00                	add    %al,(%eax)
412917:	00 94 10 40 00 04 00 	add    %dl,0x40040(%eax,%edx,1)
41291e:	00 00                	add    %al,(%eax)
412920:	53                   	push   %ebx
412921:	56                   	push   %esi
412922:	57                   	push   %edi
412923:	8b f9                	mov    %ecx,%edi
412925:	8b f2                	mov    %edx,%esi
412927:	8b d8                	mov    %eax,%ebx
412929:	8b cf                	mov    %edi,%ecx
41292b:	8b d6                	mov    %esi,%edx
41292d:	8b c3                	mov    %ebx,%eax
41292f:	e8 18 35 ff ff       	call   0x405e4c
412934:	5f                   	pop    %edi
412935:	5e                   	pop    %esi
412936:	5b                   	pop    %ebx
412937:	c3                   	ret
412938:	51                   	push   %ecx
412939:	66 89 04 24          	mov    %ax,(%esp)
41293d:	66 89 54 24 02       	mov    %dx,0x2(%esp)
412942:	8b 04 24             	mov    (%esp),%eax
412945:	5a                   	pop    %edx
412946:	c3                   	ret
412947:	90                   	nop
412948:	55                   	push   %ebp
412949:	8b ec                	mov    %esp,%ebp
41294b:	53                   	push   %ebx
41294c:	56                   	push   %esi
41294d:	57                   	push   %edi
41294e:	8b f9                	mov    %ecx,%edi
412950:	8b f2                	mov    %edx,%esi
412952:	8b d8                	mov    %eax,%ebx
412954:	8b 45 0c             	mov    0xc(%ebp),%eax
412957:	50                   	push   %eax
412958:	8b 45 08             	mov    0x8(%ebp),%eax
41295b:	50                   	push   %eax
41295c:	8b cf                	mov    %edi,%ecx
41295e:	8b d6                	mov    %esi,%edx
412960:	8b c3                	mov    %ebx,%eax
412962:	e8 c9 34 ff ff       	call   0x405e30
412967:	5f                   	pop    %edi
412968:	5e                   	pop    %esi
412969:	5b                   	pop    %ebx
41296a:	5d                   	pop    %ebp
41296b:	c2 08 00             	ret    $0x8
41296e:	8b c0                	mov    %eax,%eax
412970:	55                   	push   %ebp
412971:	8b ec                	mov    %esp,%ebp
412973:	53                   	push   %ebx
412974:	56                   	push   %esi
412975:	57                   	push   %edi
412976:	8b f9                	mov    %ecx,%edi
412978:	8b f2                	mov    %edx,%esi
41297a:	8b d8                	mov    %eax,%ebx
41297c:	8b 45 0c             	mov    0xc(%ebp),%eax
41297f:	50                   	push   %eax
412980:	8b 45 08             	mov    0x8(%ebp),%eax
412983:	50                   	push   %eax
412984:	8b cf                	mov    %edi,%ecx
412986:	8b d6                	mov    %esi,%edx
412988:	8b c3                	mov    %ebx,%eax
41298a:	e8 c5 34 ff ff       	call   0x405e54
41298f:	5f                   	pop    %edi
412990:	5e                   	pop    %esi
412991:	5b                   	pop    %ebx
412992:	5d                   	pop    %ebp
412993:	c2 08 00             	ret    $0x8
412996:	8b c0                	mov    %eax,%eax
412998:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41299b:	75 06                	jne    0x4129a3
41299d:	83 78 04 ff          	cmpl   $0xffffffff,0x4(%eax)
4129a1:	74 03                	je     0x4129a6
4129a3:	33 c0                	xor    %eax,%eax
4129a5:	c3                   	ret
4129a6:	b0 01                	mov    $0x1,%al
4129a8:	c3                   	ret
4129a9:	8d 40 00             	lea    0x0(%eax),%eax
4129ac:	f8                   	clc
4129ad:	29 41 00             	sub    %eax,0x0(%ecx)
4129cc:	f8                   	clc
4129cd:	29 41 00             	sub    %eax,0x0(%ecx)
4129d0:	14 00                	adc    $0x0,%al
4129d2:	00 00                	add    %al,(%eax)
4129d4:	a0 10 40 00 90       	mov    0x90004010,%al
4129d9:	34 40                	xor    $0x40,%al
4129db:	00 9c 34 40 00 a0 34 	add    %bl,0x34a00040(%esp,%esi,1)
4129e2:	40                   	inc    %eax
4129e3:	00 a4 34 40 00 98 34 	add    %ah,0x34980040(%esp,%esi,1)
4129ea:	40                   	inc    %eax
4129eb:	00 e0                	add    %ah,%al
4129ed:	31 40 00             	xor    %eax,0x0(%eax)
4129f0:	fc                   	cld
4129f1:	31 40 00             	xor    %eax,0x0(%eax)
4129f4:	b4 2b                	mov    $0x2b,%ah
4129f6:	41                   	inc    %ecx
4129f7:	00 09                	add    %cl,(%ecx)
4129f9:	54                   	push   %esp
4129fa:	52                   	push   %edx
4129fb:	65 67 47             	gs addr16 inc %edi
4129fe:	72 6f                	jb     0x412a6f
412a00:	75 70                	jne    0x412a72
412a02:	8b c0                	mov    %eax,%eax
412a04:	50                   	push   %eax
412a05:	2a 41 00             	sub    0x0(%ecx),%al
412a24:	50                   	push   %eax
412a25:	2a 41 00             	sub    0x0(%ecx),%al
412a28:	24 00                	and    $0x0,%al
412a2a:	00 00                	add    %al,(%eax)
412a2c:	a0 10 40 00 90       	mov    0x90004010,%al
412a31:	34 40                	xor    $0x40,%al
412a33:	00 9c 34 40 00 a0 34 	add    %bl,0x34a00040(%esp,%esi,1)
412a3a:	40                   	inc    %eax
412a3b:	00 a4 34 40 00 98 34 	add    %ah,0x34980040(%esp,%esi,1)
412a42:	40                   	inc    %eax
412a43:	00 e0                	add    %ah,%al
412a45:	31 40 00             	xor    %eax,0x0(%eax)
412a48:	fc                   	cld
412a49:	31 40 00             	xor    %eax,0x0(%eax)
412a4c:	dc 2e                	fsubrl (%esi)
412a4e:	41                   	inc    %ecx
412a4f:	00 0a                	add    %cl,(%edx)
412a51:	54                   	push   %esp
412a52:	52                   	push   %edx
412a53:	65 67 47             	gs addr16 inc %edi
412a56:	72 6f                	jb     0x412ac7
412a58:	75 70                	jne    0x412aca
412a5a:	73 90                	jae    0x4129ec
412a5c:	8b 40 0c             	mov    0xc(%eax),%eax
412a5f:	e8 bc 11 00 00       	call   0x413c20
412a64:	c3                   	ret
412a65:	8d 40 00             	lea    0x0(%eax),%eax
412a68:	53                   	push   %ebx
412a69:	56                   	push   %esi
412a6a:	57                   	push   %edi
412a6b:	55                   	push   %ebp
412a6c:	83 c4 f8             	add    $0xfffffff8,%esp
412a6f:	89 54 24 04          	mov    %edx,0x4(%esp)
412a73:	89 04 24             	mov    %eax,(%esp)
412a76:	33 ed                	xor    %ebp,%ebp
412a78:	8b 04 24             	mov    (%esp),%eax
412a7b:	8b 40 0c             	mov    0xc(%eax),%eax
412a7e:	8b 70 08             	mov    0x8(%eax),%esi
412a81:	4e                   	dec    %esi
412a82:	85 f6                	test   %esi,%esi
412a84:	7c 38                	jl     0x412abe
412a86:	46                   	inc    %esi
412a87:	33 ff                	xor    %edi,%edi
412a89:	8b 04 24             	mov    (%esp),%eax
412a8c:	8b 40 0c             	mov    0xc(%eax),%eax
412a8f:	8b d7                	mov    %edi,%edx
412a91:	e8 e6 12 00 00       	call   0x413d7c
412a96:	8b d8                	mov    %eax,%ebx
412a98:	8b d3                	mov    %ebx,%edx
412a9a:	8b 44 24 04          	mov    0x4(%esp),%eax
412a9e:	e8 d1 09 ff ff       	call   0x403474
412aa3:	84 c0                	test   %al,%al
412aa5:	74 13                	je     0x412aba
412aa7:	85 ed                	test   %ebp,%ebp
412aa9:	74 0d                	je     0x412ab8
412aab:	8b d5                	mov    %ebp,%edx
412aad:	8b c3                	mov    %ebx,%eax
412aaf:	e8 c0 09 ff ff       	call   0x403474
412ab4:	84 c0                	test   %al,%al
412ab6:	74 02                	je     0x412aba
412ab8:	8b eb                	mov    %ebx,%ebp
412aba:	47                   	inc    %edi
412abb:	4e                   	dec    %esi
412abc:	75 cb                	jne    0x412a89
412abe:	8b c5                	mov    %ebp,%eax
412ac0:	59                   	pop    %ecx
412ac1:	5a                   	pop    %edx
412ac2:	5d                   	pop    %ebp
412ac3:	5f                   	pop    %edi
412ac4:	5e                   	pop    %esi
412ac5:	5b                   	pop    %ebx
412ac6:	c3                   	ret
412ac7:	90                   	nop
412ac8:	55                   	push   %ebp
412ac9:	8b ec                	mov    %esp,%ebp
412acb:	51                   	push   %ecx
412acc:	53                   	push   %ebx
412acd:	56                   	push   %esi
412ace:	57                   	push   %edi
412acf:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412ad2:	8b fa                	mov    %edx,%edi
412ad4:	8b 5d 08             	mov    0x8(%ebp),%ebx
412ad7:	85 ff                	test   %edi,%edi
412ad9:	74 0d                	je     0x412ae8
412adb:	8b d3                	mov    %ebx,%edx
412add:	8b c7                	mov    %edi,%eax
412adf:	e8 84 ff ff ff       	call   0x412a68
412ae4:	8b f0                	mov    %eax,%esi
412ae6:	eb 02                	jmp    0x412aea
412ae8:	33 f6                	xor    %esi,%esi
412aea:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
412aee:	74 0e                	je     0x412afe
412af0:	8b d3                	mov    %ebx,%edx
412af2:	8b 45 fc             	mov    -0x4(%ebp),%eax
412af5:	e8 6e ff ff ff       	call   0x412a68
412afa:	8b d8                	mov    %eax,%ebx
412afc:	eb 02                	jmp    0x412b00
412afe:	33 db                	xor    %ebx,%ebx
412b00:	85 f6                	test   %esi,%esi
412b02:	75 0d                	jne    0x412b11
412b04:	85 db                	test   %ebx,%ebx
412b06:	75 04                	jne    0x412b0c
412b08:	33 c0                	xor    %eax,%eax
412b0a:	eb 21                	jmp    0x412b2d
412b0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
412b0f:	eb 1c                	jmp    0x412b2d
412b11:	85 db                	test   %ebx,%ebx
412b13:	75 04                	jne    0x412b19
412b15:	8b c7                	mov    %edi,%eax
412b17:	eb 14                	jmp    0x412b2d
412b19:	8b d3                	mov    %ebx,%edx
412b1b:	8b c6                	mov    %esi,%eax
412b1d:	e8 52 09 ff ff       	call   0x403474
412b22:	84 c0                	test   %al,%al
412b24:	74 04                	je     0x412b2a
412b26:	8b c7                	mov    %edi,%eax
412b28:	eb 03                	jmp    0x412b2d
412b2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
412b2d:	5f                   	pop    %edi
412b2e:	5e                   	pop    %esi
412b2f:	5b                   	pop    %ebx
412b30:	59                   	pop    %ecx
412b31:	5d                   	pop    %ebp
412b32:	c2 04 00             	ret    $0x4
412b35:	8d 40 00             	lea    0x0(%eax),%eax
412b38:	55                   	push   %ebp
412b39:	8b ec                	mov    %esp,%ebp
412b3b:	51                   	push   %ecx
412b3c:	53                   	push   %ebx
412b3d:	56                   	push   %esi
412b3e:	57                   	push   %edi
412b3f:	84 d2                	test   %dl,%dl
412b41:	74 08                	je     0x412b4b
412b43:	83 c4 f0             	add    $0xfffffff0,%esp
412b46:	e8 21 0a ff ff       	call   0x40356c
412b4b:	8b f9                	mov    %ecx,%edi
412b4d:	88 55 ff             	mov    %dl,-0x1(%ebp)
412b50:	8b d8                	mov    %eax,%ebx
412b52:	33 d2                	xor    %edx,%edx
412b54:	8b c3                	mov    %ebx,%eax
412b56:	e8 bd 06 ff ff       	call   0x403218
412b5b:	b2 01                	mov    $0x1,%dl
412b5d:	a1 88 18 41 00       	mov    0x411888,%eax
412b62:	e8 b1 06 ff ff       	call   0x403218
412b67:	89 43 04             	mov    %eax,0x4(%ebx)
412b6a:	b2 01                	mov    $0x1,%dl
412b6c:	a1 30 1e 41 00       	mov    0x411e30,%eax
412b71:	e8 a2 06 ff ff       	call   0x403218
412b76:	89 43 08             	mov    %eax,0x8(%ebx)
412b79:	b2 01                	mov    $0x1,%dl
412b7b:	a1 88 18 41 00       	mov    0x411888,%eax
412b80:	e8 93 06 ff ff       	call   0x403218
412b85:	8b f0                	mov    %eax,%esi
412b87:	89 73 0c             	mov    %esi,0xc(%ebx)
412b8a:	8b c6                	mov    %esi,%eax
412b8c:	8b d7                	mov    %edi,%edx
412b8e:	e8 8d 10 00 00       	call   0x413c20
412b93:	8b c3                	mov    %ebx,%eax
412b95:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
412b99:	74 0f                	je     0x412baa
412b9b:	e8 24 0a ff ff       	call   0x4035c4
412ba0:	64 8f 05 00 00 00 00 	pop    %fs:0x0
412ba7:	83 c4 0c             	add    $0xc,%esp
412baa:	8b c3                	mov    %ebx,%eax
412bac:	5f                   	pop    %edi
412bad:	5e                   	pop    %esi
412bae:	5b                   	pop    %ebx
412baf:	59                   	pop    %ecx
412bb0:	5d                   	pop    %ebp
412bb1:	c3                   	ret
412bb2:	8b c0                	mov    %eax,%eax
412bb4:	53                   	push   %ebx
412bb5:	56                   	push   %esi
412bb6:	e8 19 0a ff ff       	call   0x4035d4
412bbb:	8b da                	mov    %edx,%ebx
412bbd:	8b f0                	mov    %eax,%esi
412bbf:	8b d3                	mov    %ebx,%edx
412bc1:	80 e2 fc             	and    $0xfc,%dl
412bc4:	8b c6                	mov    %esi,%eax
412bc6:	e8 6d 06 ff ff       	call   0x403238
412bcb:	8b 46 04             	mov    0x4(%esi),%eax
412bce:	e8 75 06 ff ff       	call   0x403248
412bd3:	8b 46 08             	mov    0x8(%esi),%eax
412bd6:	e8 6d 06 ff ff       	call   0x403248
412bdb:	8b 46 0c             	mov    0xc(%esi),%eax
412bde:	e8 65 06 ff ff       	call   0x403248
412be3:	84 db                	test   %bl,%bl
412be5:	7e 07                	jle    0x412bee
412be7:	8b c6                	mov    %esi,%eax
412be9:	e8 ce 09 ff ff       	call   0x4035bc
412bee:	5e                   	pop    %esi
412bef:	5b                   	pop    %ebx
412bf0:	c3                   	ret
412bf1:	8d 40 00             	lea    0x0(%eax),%eax
412bf4:	53                   	push   %ebx
412bf5:	56                   	push   %esi
412bf6:	57                   	push   %edi
412bf7:	55                   	push   %ebp
412bf8:	51                   	push   %ecx
412bf9:	89 14 24             	mov    %edx,(%esp)
412bfc:	8b e8                	mov    %eax,%ebp
412bfe:	8b 45 04             	mov    0x4(%ebp),%eax
412c01:	8b 70 08             	mov    0x8(%eax),%esi
412c04:	4e                   	dec    %esi
412c05:	85 f6                	test   %esi,%esi
412c07:	7c 21                	jl     0x412c2a
412c09:	46                   	inc    %esi
412c0a:	33 db                	xor    %ebx,%ebx
412c0c:	8b 45 04             	mov    0x4(%ebp),%eax
412c0f:	8b d3                	mov    %ebx,%edx
412c11:	e8 66 11 00 00       	call   0x413d7c
412c16:	8b f8                	mov    %eax,%edi
412c18:	8b 14 24             	mov    (%esp),%edx
412c1b:	8b c7                	mov    %edi,%eax
412c1d:	e8 8a 05 ff ff       	call   0x4031ac
412c22:	84 c0                	test   %al,%al
412c24:	75 25                	jne    0x412c4b
412c26:	43                   	inc    %ebx
412c27:	4e                   	dec    %esi
412c28:	75 e2                	jne    0x412c0c
412c2a:	8b 45 08             	mov    0x8(%ebp),%eax
412c2d:	8b 14 24             	mov    (%esp),%edx
412c30:	8b 08                	mov    (%eax),%ecx
412c32:	ff 51 54             	call   *0x54(%ecx)
412c35:	8b d8                	mov    %eax,%ebx
412c37:	85 db                	test   %ebx,%ebx
412c39:	7c 0e                	jl     0x412c49
412c3b:	8b 45 08             	mov    0x8(%ebp),%eax
412c3e:	8b d3                	mov    %ebx,%edx
412c40:	8b 08                	mov    (%eax),%ecx
412c42:	ff 51 18             	call   *0x18(%ecx)
412c45:	8b f8                	mov    %eax,%edi
412c47:	eb 02                	jmp    0x412c4b
412c49:	33 ff                	xor    %edi,%edi
412c4b:	8b c7                	mov    %edi,%eax
412c4d:	5a                   	pop    %edx
412c4e:	5d                   	pop    %ebp
412c4f:	5f                   	pop    %edi
412c50:	5e                   	pop    %esi
412c51:	5b                   	pop    %ebx
412c52:	c3                   	ret
412c53:	90                   	nop
412c54:	53                   	push   %ebx