415890:	33 c0                	xor    %eax,%eax
415892:	59                   	pop    %ecx
415893:	5a                   	pop    %edx
415894:	5b                   	pop    %ebx
415895:	c3                   	ret
415896:	8b c0                	mov    %eax,%eax
415898:	53                   	push   %ebx
415899:	56                   	push   %esi
41589a:	51                   	push   %ecx
41589b:	8b f2                	mov    %edx,%esi
41589d:	8b d8                	mov    %eax,%ebx
41589f:	54                   	push   %esp
4158a0:	56                   	push   %esi
4158a1:	8b c3                	mov    %ebx,%eax
4158a3:	e8 a0 ff ff ff       	call   0x415848
4158a8:	50                   	push   %eax
4158a9:	e8 be 92 ff ff       	call   0x40eb6c
4158ae:	e8 f9 a2 ff ff       	call   0x40fbac
4158b3:	8b 04 24             	mov    (%esp),%eax
4158b6:	5a                   	pop    %edx
4158b7:	5e                   	pop    %esi
4158b8:	5b                   	pop    %ebx
4158b9:	c3                   	ret
4158ba:	8b c0                	mov    %eax,%eax
4158bc:	53                   	push   %ebx
4158bd:	56                   	push   %esi
4158be:	51                   	push   %ecx
4158bf:	8b f2                	mov    %edx,%esi
4158c1:	8b d8                	mov    %eax,%ebx
4158c3:	54                   	push   %esp
4158c4:	56                   	push   %esi
4158c5:	8b c3                	mov    %ebx,%eax
4158c7:	e8 7c ff ff ff       	call   0x415848
4158cc:	50                   	push   %eax
4158cd:	e8 a2 92 ff ff       	call   0x40eb74
4158d2:	e8 d5 a2 ff ff       	call   0x40fbac
4158d7:	8b 04 24             	mov    (%esp),%eax
4158da:	5a                   	pop    %edx
4158db:	5e                   	pop    %esi
4158dc:	5b                   	pop    %ebx
4158dd:	c3                   	ret
4158de:	8b c0                	mov    %eax,%eax
4158e0:	53                   	push   %ebx
4158e1:	51                   	push   %ecx
4158e2:	8b d8                	mov    %eax,%ebx
4158e4:	54                   	push   %esp
4158e5:	8b c3                	mov    %ebx,%eax
4158e7:	e8 5c ff ff ff       	call   0x415848
4158ec:	50                   	push   %eax
4158ed:	e8 8a 92 ff ff       	call   0x40eb7c
4158f2:	e8 b5 a2 ff ff       	call   0x40fbac
4158f7:	8b 04 24             	mov    (%esp),%eax
4158fa:	5a                   	pop    %edx
4158fb:	5b                   	pop    %ebx
4158fc:	c3                   	ret
4158fd:	8d 40 00             	lea    0x0(%eax),%eax
415900:	53                   	push   %ebx
415901:	8b d8                	mov    %eax,%ebx
415903:	8b c3                	mov    %ebx,%eax
415905:	e8 3e ff ff ff       	call   0x415848
41590a:	50                   	push   %eax
41590b:	e8 74 92 ff ff       	call   0x40eb84
415910:	e8 97 a2 ff ff       	call   0x40fbac
415915:	5b                   	pop    %ebx
415916:	c3                   	ret
415917:	90                   	nop
415918:	b2 01                	mov    $0x1,%dl
41591a:	e8 01 00 00 00       	call   0x415920
41591f:	c3                   	ret
415920:	83 c4 f8             	add    $0xfffffff8,%esp
415923:	84 d2                	test   %dl,%dl
415925:	74 0e                	je     0x415935
415927:	8d 4c 24 04          	lea    0x4(%esp),%ecx
41592b:	8b d4                	mov    %esp,%edx
41592d:	e8 2a fe ff ff       	call   0x41575c
415932:	59                   	pop    %ecx
415933:	5a                   	pop    %edx
415934:	c3                   	ret
415935:	66 8b 00             	mov    (%eax),%ax
415938:	66 25 00 20          	and    $0x2000,%ax
41593c:	66 3d 00 20          	cmp    $0x2000,%ax
415940:	0f 94 c0             	sete   %al
415943:	59                   	pop    %ecx
415944:	5a                   	pop    %edx
415945:	c3                   	ret
415946:	8b c0                	mov    %eax,%eax
415948:	8b d0                	mov    %eax,%edx
41594a:	66 83 ea 16          	sub    $0x16,%dx
41594e:	73 12                	jae    0x415962
415950:	0f b7 c0             	movzwl %ax,%eax
415953:	8d 04 40             	lea    (%eax,%eax,2),%eax
415956:	8b 15 5c b3 49 00    	mov    0x49b35c,%edx
41595c:	80 3c 82 00          	cmpb   $0x0,(%edx,%eax,4)
415960:	75 03                	jne    0x415965
415962:	33 c0                	xor    %eax,%eax
415964:	c3                   	ret
415965:	b0 01                	mov    $0x1,%al
415967:	c3                   	ret
415968:	53                   	push   %ebx
415969:	56                   	push   %esi
41596a:	8b d8                	mov    %eax,%ebx
41596c:	0f b7 f3             	movzwl %bx,%esi
41596f:	81 e6 ff bf ff ff    	and    $0xffffbfff,%esi
415975:	8b c6                	mov    %esi,%eax
415977:	83 e8 16             	sub    $0x16,%eax
41597a:	73 10                	jae    0x41598c
41597c:	8d 04 76             	lea    (%esi,%esi,2),%eax
41597f:	8b 15 5c b3 49 00    	mov    0x49b35c,%edx
415985:	80 7c 82 01 00       	cmpb   $0x0,0x1(%edx,%eax,4)
41598a:	75 10                	jne    0x41599c
41598c:	8b c3                	mov    %ebx,%eax
41598e:	e8 f9 fb ff ff       	call   0x41558c
415993:	84 c0                	test   %al,%al
415995:	75 05                	jne    0x41599c
415997:	33 c0                	xor    %eax,%eax
415999:	5e                   	pop    %esi
41599a:	5b                   	pop    %ebx
41599b:	c3                   	ret
41599c:	b0 01                	mov    $0x1,%al
41599e:	5e                   	pop    %esi
41599f:	5b                   	pop    %ebx
4159a0:	c3                   	ret
4159a1:	8d 40 00             	lea    0x0(%eax),%eax
4159a4:	55                   	push   %ebp
4159a5:	8b ec                	mov    %esp,%ebp
4159a7:	83 c4 e4             	add    $0xffffffe4,%esp
4159aa:	53                   	push   %ebx
4159ab:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4159ae:	8d 55 ee             	lea    -0x12(%ebp),%edx
4159b1:	8b 45 0c             	mov    0xc(%ebp),%eax
4159b4:	e8 a3 fd ff ff       	call   0x41575c
4159b9:	84 c0                	test   %al,%al
4159bb:	75 0a                	jne    0x4159c7
4159bd:	b8 57 00 07 80       	mov    $0x80070057,%eax
4159c2:	e8 e5 a1 ff ff       	call   0x40fbac
4159c7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4159ca:	0f b7 00             	movzwl (%eax),%eax
4159cd:	3b 45 10             	cmp    0x10(%ebp),%eax
4159d0:	74 0a                	je     0x4159dc
4159d2:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
4159d7:	e8 d0 a1 ff ff       	call   0x40fbac
4159dc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4159df:	50                   	push   %eax
4159e0:	e8 13 8d ff ff       	call   0x40e6f8
4159e5:	33 c0                	xor    %eax,%eax
4159e7:	55                   	push   %ebp
4159e8:	68 64 5a 41 00       	push   $0x415a64
4159ed:	64 ff 30             	push   %fs:(%eax)
4159f0:	64 89 20             	mov    %esp,%fs:(%eax)
4159f3:	66 8b 5d ee          	mov    -0x12(%ebp),%bx
4159f7:	66 81 e3 ff 0f       	and    $0xfff,%bx
4159fc:	0f b7 db             	movzwl %bx,%ebx
4159ff:	83 fb 0c             	cmp    $0xc,%ebx
415a02:	75 25                	jne    0x415a29
415a04:	8d 45 e4             	lea    -0x1c(%ebp),%eax
415a07:	50                   	push   %eax
415a08:	8d 45 14             	lea    0x14(%ebp),%eax
415a0b:	50                   	push   %eax
415a0c:	8b 45 e8             	mov    -0x18(%ebp),%eax
415a0f:	50                   	push   %eax
415a10:	e8 87 91 ff ff       	call   0x40eb9c
415a15:	e8 92 a1 ff ff       	call   0x40fbac
415a1a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415a1d:	8b d0                	mov    %eax,%edx
415a1f:	8d 45 f0             	lea    -0x10(%ebp),%eax
415a22:	e8 5d a8 ff ff       	call   0x410284
415a27:	eb 1a                	jmp    0x415a43
415a29:	8d 45 f8             	lea    -0x8(%ebp),%eax
415a2c:	50                   	push   %eax
415a2d:	8d 45 14             	lea    0x14(%ebp),%eax
415a30:	50                   	push   %eax
415a31:	8b 45 e8             	mov    -0x18(%ebp),%eax
415a34:	50                   	push   %eax
415a35:	e8 52 91 ff ff       	call   0x40eb8c
415a3a:	e8 6d a1 ff ff       	call   0x40fbac
415a3f:	66 89 5d f0          	mov    %bx,-0x10(%ebp)
415a43:	8d 55 f0             	lea    -0x10(%ebp),%edx
415a46:	8b 45 08             	mov    0x8(%ebp),%eax
415a49:	e8 36 a8 ff ff       	call   0x410284
415a4e:	33 c0                	xor    %eax,%eax
415a50:	5a                   	pop    %edx
415a51:	59                   	pop    %ecx
415a52:	59                   	pop    %ecx
415a53:	64 89 10             	mov    %edx,%fs:(%eax)
415a56:	68 6b 5a 41 00       	push   $0x415a6b
415a5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415a5e:	e8 f9 a4 ff ff       	call   0x40ff5c
415a63:	c3                   	ret
415a64:	e9 ff e0 fe ff       	jmp    0x403b68
415a69:	eb f0                	jmp    0x415a5b
415a6b:	5b                   	pop    %ebx
415a6c:	8b e5                	mov    %ebp,%esp
415a6e:	5d                   	pop    %ebp
415a6f:	c3                   	ret
415a70:	55                   	push   %ebp
415a71:	8b ec                	mov    %esp,%ebp
415a73:	53                   	push   %ebx
415a74:	89 cb                	mov    %ecx,%ebx
415a76:	43                   	inc    %ebx
415a77:	7e 06                	jle    0x415a7f
415a79:	ff 34 8a             	push   (%edx,%ecx,4)
415a7c:	49                   	dec    %ecx
415a7d:	79 fa                	jns    0x415a79
415a7f:	53                   	push   %ebx
415a80:	50                   	push   %eax
415a81:	8b 45 08             	mov    0x8(%ebp),%eax
415a84:	50                   	push   %eax
415a85:	e8 1a ff ff ff       	call   0x4159a4
415a8a:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
415a8e:	5b                   	pop    %ebx
415a8f:	5d                   	pop    %ebp
415a90:	c2 04 00             	ret    $0x4
415a93:	90                   	nop
415a94:	55                   	push   %ebp
415a95:	8b ec                	mov    %esp,%ebp
415a97:	83 c4 dc             	add    $0xffffffdc,%esp
415a9a:	53                   	push   %ebx
415a9b:	56                   	push   %esi
415a9c:	8b 75 0c             	mov    0xc(%ebp),%esi
415a9f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
415aa2:	8d 55 ee             	lea    -0x12(%ebp),%edx
415aa5:	8b 45 08             	mov    0x8(%ebp),%eax
415aa8:	e8 af fc ff ff       	call   0x41575c
415aad:	84 c0                	test   %al,%al
415aaf:	75 0a                	jne    0x415abb
415ab1:	b8 57 00 07 80       	mov    $0x80070057,%eax
415ab6:	e8 f1 a0 ff ff       	call   0x40fbac
415abb:	8d 4d e0             	lea    -0x20(%ebp),%ecx
415abe:	8d 55 e6             	lea    -0x1a(%ebp),%edx
415ac1:	8b c6                	mov    %esi,%eax
415ac3:	e8 94 fc ff ff       	call   0x41575c
415ac8:	84 c0                	test   %al,%al
415aca:	75 1f                	jne    0x415aeb
415acc:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
415ad0:	e8 93 fe ff ff       	call   0x415968
415ad5:	84 c0                	test   %al,%al
415ad7:	75 12                	jne    0x415aeb
415ad9:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
415adf:	74 0a                	je     0x415aeb
415ae1:	b8 05 00 02 80       	mov    $0x80020005,%eax
415ae6:	e8 c1 a0 ff ff       	call   0x40fbac
415aeb:	8b 45 e8             	mov    -0x18(%ebp),%eax
415aee:	0f b7 00             	movzwl (%eax),%eax
415af1:	3b 45 10             	cmp    0x10(%ebp),%eax
415af4:	74 0a                	je     0x415b00
415af6:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
415afb:	e8 ac a0 ff ff       	call   0x40fbac
415b00:	66 8b 5d ee          	mov    -0x12(%ebp),%bx
415b04:	66 81 e3 ff 0f       	and    $0xfff,%bx
415b09:	0f b7 db             	movzwl %bx,%ebx
415b0c:	83 fb 0c             	cmp    $0xc,%ebx
415b0f:	75 3a                	jne    0x415b4b
415b11:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
415b17:	75 0d                	jne    0x415b26
415b19:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
415b1d:	e8 6a fa ff ff       	call   0x41558c
415b22:	84 c0                	test   %al,%al
415b24:	74 25                	je     0x415b4b
415b26:	8d 45 dc             	lea    -0x24(%ebp),%eax
415b29:	50                   	push   %eax
415b2a:	8d 45 14             	lea    0x14(%ebp),%eax
415b2d:	50                   	push   %eax
415b2e:	8b 45 e8             	mov    -0x18(%ebp),%eax
415b31:	50                   	push   %eax
415b32:	e8 65 90 ff ff       	call   0x40eb9c
415b37:	e8 70 a0 ff ff       	call   0x40fbac
415b3c:	8b 45 dc             	mov    -0x24(%ebp),%eax
415b3f:	8b d6                	mov    %esi,%edx
415b41:	e8 3e a7 ff ff       	call   0x410284
415b46:	e9 88 00 00 00       	jmp    0x415bd3
415b4b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b4e:	50                   	push   %eax
415b4f:	e8 a4 8b ff ff       	call   0x40e6f8
415b54:	33 c0                	xor    %eax,%eax
415b56:	55                   	push   %ebp
415b57:	68 cc 5b 41 00       	push   $0x415bcc
415b5c:	64 ff 30             	push   %fs:(%eax)
415b5f:	64 89 20             	mov    %esp,%fs:(%eax)
415b62:	83 fb 0c             	cmp    $0xc,%ebx
415b65:	75 12                	jne    0x415b79
415b67:	8b d6                	mov    %esi,%edx
415b69:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b6c:	e8 c7 a9 ff ff       	call   0x410538
415b71:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b74:	89 45 dc             	mov    %eax,-0x24(%ebp)
415b77:	eb 27                	jmp    0x415ba0
415b79:	8b d6                	mov    %esi,%edx
415b7b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b7e:	8b cb                	mov    %ebx,%ecx
415b80:	e8 43 ac ff ff       	call   0x4107c8
415b85:	83 c3 f8             	add    $0xfffffff8,%ebx
415b88:	83 eb 02             	sub    $0x2,%ebx
415b8b:	72 05                	jb     0x415b92
415b8d:	83 eb 03             	sub    $0x3,%ebx
415b90:	75 08                	jne    0x415b9a
415b92:	8b 45 f8             	mov    -0x8(%ebp),%eax
415b95:	89 45 dc             	mov    %eax,-0x24(%ebp)
415b98:	eb 06                	jmp    0x415ba0
415b9a:	8d 45 f8             	lea    -0x8(%ebp),%eax
415b9d:	89 45 dc             	mov    %eax,-0x24(%ebp)
415ba0:	8b 45 dc             	mov    -0x24(%ebp),%eax
415ba3:	50                   	push   %eax
415ba4:	8d 45 14             	lea    0x14(%ebp),%eax
415ba7:	50                   	push   %eax
415ba8:	8b 45 e8             	mov    -0x18(%ebp),%eax
415bab:	50                   	push   %eax
415bac:	e8 e3 8f ff ff       	call   0x40eb94
415bb1:	e8 f6 9f ff ff       	call   0x40fbac
415bb6:	33 c0                	xor    %eax,%eax
415bb8:	5a                   	pop    %edx
415bb9:	59                   	pop    %ecx
415bba:	59                   	pop    %ecx
415bbb:	64 89 10             	mov    %edx,%fs:(%eax)
415bbe:	68 d3 5b 41 00       	push   $0x415bd3
415bc3:	8d 45 f0             	lea    -0x10(%ebp),%eax
415bc6:	e8 91 a3 ff ff       	call   0x40ff5c
415bcb:	c3                   	ret
415bcc:	e9 97 df fe ff       	jmp    0x403b68
415bd1:	eb f0                	jmp    0x415bc3
415bd3:	5e                   	pop    %esi
415bd4:	5b                   	pop    %ebx
415bd5:	8b e5                	mov    %ebp,%esp
415bd7:	5d                   	pop    %ebp
415bd8:	c3                   	ret
415bd9:	8d 40 00             	lea    0x0(%eax),%eax
415bdc:	55                   	push   %ebp
415bdd:	8b ec                	mov    %esp,%ebp
415bdf:	53                   	push   %ebx
415be0:	8b 5d 08             	mov    0x8(%ebp),%ebx
415be3:	85 db                	test   %ebx,%ebx
415be5:	78 06                	js     0x415bed
415be7:	ff 34 99             	push   (%ecx,%ebx,4)
415bea:	4b                   	dec    %ebx
415beb:	79 fa                	jns    0x415be7
415bed:	8b 5d 08             	mov    0x8(%ebp),%ebx
415bf0:	43                   	inc    %ebx
415bf1:	53                   	push   %ebx
415bf2:	52                   	push   %edx
415bf3:	50                   	push   %eax
415bf4:	e8 9b fe ff ff       	call   0x415a94
415bf9:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
415bfd:	5b                   	pop    %ebx
415bfe:	5d                   	pop    %ebp
415bff:	c2 04 00             	ret    $0x4
415c02:	8b c0                	mov    %eax,%eax
415c04:	55                   	push   %ebp
415c05:	8b ec                	mov    %esp,%ebp
415c07:	53                   	push   %ebx
415c08:	56                   	push   %esi
415c09:	57                   	push   %edi